body {
	font-family: 'Roboto', sans-serif;
	width: 100%;
	background: #f1f4f6;
	color: #2c373e;
	font-size: 14px;
	letter-spacing: -.4px;
	line-height: 20px;
	min-width: 320px;
}

div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}

*::-webkit-scrollbar {
	width: 5px;
	height: 5px;
	background-color: #ddd;
}

*::-webkit-scrollbar-thumb {
	background-color: #006bdb;
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}


/* tools */

.mb50 {
	margin-bottom: 50px;
}

.fa {
	font-size: 14px;
}

.card {
	padding: 10px;
	background: #fff;
	position: relative;
	margin-bottom: 20px;
}

.card.card-outline {
	outline: 2px solid #fa4d62;
	overflow: hidden;
}

@media only screen and (min-width: 768px) {
	.cont-title {
		text-transform: uppercase;
		font-size: 24px;
		position: relative;
		display: inline-block;
		margin-bottom: 20px;
	}
	.card {
		padding: 20px;
	}
}

#content {
	min-height: 600px;
}

.form-indent {
	margin: 20px 0;
}

.h100 {
	height: 100%!important;
}

.main-title {
	padding: 10px;
	background: #fff;
	border-bottom: 1px solid #ededed;
	position: relative;
}

@media only screen and (min-width: 768px) {
	.main-title {
		padding: 20px;
	}
}

.main-title h1,
.main-title h2,
.main-title h3 {
	margin: 0;
}


/* bootstrap fix */

.d-none {
	display: none !important;
}

.d-inline {
	display: inline !important;
}

.d-inline-block {
	display: inline-block !important;
}

.d-block {
	display: block !important;
}

.d-table {
	display: table !important;
}

.d-table-row {
	display: table-row !important;
}

.d-table-cell {
	display: table-cell !important;
}

.d-flex {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

.d-inline-flex {
	display: -webkit-inline-box !important;
	display: -ms-inline-flexbox !important;
	display: inline-flex !important;
}

.flex-row {
	-webkit-box-orient: horizontal !important;
	-webkit-box-direction: normal !important;
	-ms-flex-direction: row !important;
	flex-direction: row !important;
}

.flex-column {
	-webkit-box-orient: vertical !important;
	-webkit-box-direction: normal !important;
	-ms-flex-direction: column !important;
	flex-direction: column !important;
}

.flex-row-reverse {
	-webkit-box-orient: horizontal !important;
	-webkit-box-direction: reverse !important;
	-ms-flex-direction: row-reverse !important;
	flex-direction: row-reverse !important;
}

.flex-column-reverse {
	-webkit-box-orient: vertical !important;
	-webkit-box-direction: reverse !important;
	-ms-flex-direction: column-reverse !important;
	flex-direction: column-reverse !important;
}

.flex-wrap {
	-ms-flex-wrap: wrap !important;
	flex-wrap: wrap !important;
}

.flex-nowrap {
	-ms-flex-wrap: nowrap !important;
	flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
	-ms-flex-wrap: wrap-reverse !important;
	flex-wrap: wrap-reverse !important;
}

.justify-content-start {
	-webkit-box-pack: start !important;
	-ms-flex-pack: start !important;
	justify-content: flex-start !important;
}

.justify-content-end {
	-webkit-box-pack: end !important;
	-ms-flex-pack: end !important;
	justify-content: flex-end !important;
}

.justify-content-center {
	-webkit-box-pack: center !important;
	-ms-flex-pack: center !important;
	justify-content: center !important;
}

.justify-content-between {
	-webkit-box-pack: justify !important;
	-ms-flex-pack: justify !important;
	justify-content: space-between !important;
}

.justify-content-around {
	-ms-flex-pack: distribute !important;
	justify-content: space-around !important;
}

.align-items-start {
	-webkit-box-align: start !important;
	-ms-flex-align: start !important;
	align-items: flex-start !important;
}

.align-items-end {
	-webkit-box-align: end !important;
	-ms-flex-align: end !important;
	align-items: flex-end !important;
}

.align-items-center {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}

.align-items-baseline {
	-webkit-box-align: baseline !important;
	-ms-flex-align: baseline !important;
	align-items: baseline !important;
}

.align-items-stretch {
	-webkit-box-align: stretch !important;
	-ms-flex-align: stretch !important;
	align-items: stretch !important;
}

.align-content-start {
	-ms-flex-line-pack: start !important;
	align-content: flex-start !important;
}

.align-content-end {
	-ms-flex-line-pack: end !important;
	align-content: flex-end !important;
}

.align-content-center {
	-ms-flex-line-pack: center !important;
	align-content: center !important;
}

.align-content-between {
	-ms-flex-line-pack: justify !important;
	align-content: space-between !important;
}

.align-content-around {
	-ms-flex-line-pack: distribute !important;
	align-content: space-around !important;
}

.align-content-stretch {
	-ms-flex-line-pack: stretch !important;
	align-content: stretch !important;
}

.align-self-auto {
	-ms-flex-item-align: auto !important;
	align-self: auto !important;
}

.align-self-start {
	-ms-flex-item-align: start !important;
	align-self: flex-start !important;
}

.align-self-end {
	-ms-flex-item-align: end !important;
	align-self: flex-end !important;
}

.align-self-center {
	-ms-flex-item-align: center !important;
	align-self: center !important;
}

.align-self-baseline {
	-ms-flex-item-align: baseline !important;
	align-self: baseline !important;
}

.align-self-stretch {
	-ms-flex-item-align: stretch !important;
	align-self: stretch !important;
}


/* header */

.wrap {
	height: auto;
	min-height: 100%;
}

header .header-jobs {
	display: none;
}

@media only screen and (min-width: 1200px) {
	header .header-jobs {
		display: table-cell;
	}
}

header .header-jobs .job-text {
	width: 18rem;
    display: flex;
    height: 100%;
    font-size: 13px;
    align-items: center;
    padding: 0 17px;
    color: black;
    line-height: 17px;
    letter-spacing: normal;
    background: #f1f4f6;
	justify-content: center;
}

header {
	position: relative;
	font-size: 14px;
	z-index: 60;
}

.header-fixed-margin {
	display: block;
	height: 7rem;
}

@media only screen and (min-width: 768px) {
	.header-fixed-margin {
		height: 14rem;
	}
}

.headerfixed-margin.active {
	display: block;
}

header .header-top {
	margin-bottom: 20px;
	background: #fff;
}

header .header-top {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	background-color: #fff;
}

@media only screen and (min-width: 768px) {
	header .header-top-box {
		height: 8rem;
	}
}

@media only screen and (max-width: 991px) {
	header .header-top-box>.container {
		padding: 0;
	}
}

header .header-top .left-wrap .logo {
	height: 100%;
	display: table-cell;
}

header .header-top .left-wrap .logo a {
	display: block;
}

header .header-top .rw-top {
	background: #006bdb;
}

header .header-top .rw-top .rw-left {
	height: 50px;
}

header .header-top .rw-inner {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

header .header-top .main-menu ul.main-menu-middle {
	overflow: hidden;
	padding-left: 0;
	margin: 0;
}

header .header-top .main-menu ul.main-menu-middle>li {
	float: left;
	list-style: none;
}

header .header-top .item-info:hover,
header .header-top .cat-item-title.item-info:hover {
	background: #3c3f50;
}

header .header-top .rw-inner a {
	color: #fff;
}

header .header-top .cat-item-title .cat-link {
	color: #ffd700;
    font-weight: 500;
}

header .header-top .main-menu ul.main-menu-middle>li.item-info>a,
header .header-top .rw-inner a,
header .header-top .header-right-item>a {
	font-size: 13px;
}

header .header-top .main-menu ul.main-menu-middle>li.item-info>a {
	display: flex;
	height: 50px;
	line-height: 1;
	padding: 0 15px;
	position: relative;
	align-items: center;
	cursor: auto;
}

@media only screen and (min-width: 1200px) {
	header .header-top .main-menu ul.main-menu-middle>li.item-info>a {
		font-size: 15px;
		padding: 0 20px;
		cursor: pointer;
	}
}

header .header-top .header-right-item {
	height: 50px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0 10px;
}

header .header-top .header-right-item .phone-block {
	padding: 0;
	margin: 0;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	list-style: none;
}

header .header-top .header-right-item .phone-block a {
	font-size: 20px;
	line-height: normal;
	position: relative;
	padding-left: 35px;
}

header .header-top .header-right-item .phone-block a:before {
	content: "";
	display: inline-block;
	background: url(/image/catalog/icon-svg/phone.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 2px;
	margin-left: 5px;
}

#cart.btn-group.btn-block {
	height: 100%;
}

#cart.btn-group.btn-block.open>button {
	background-color: #f1f4f6;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	#cart.btn-group.btn-block.open>button {
		background: #fff;
	}
}

#cart.btn-block>button {
	background: transparent;
	border: 0;
	padding: 0;
	height: 100%;
	border-radius: 0;
	font-size: 0;
	color: #333;
	box-shadow: none;
	text-align: left;
	text-transform: none;
}

@media only screen and (min-width: 992px) {
	#cart.btn-block>button {
		font-size: 13px;
		padding: 0 20px 0 70px;
	}
}

#cart.btn-block>button:before {
	content: "";
	position: absolute;
	top: 23px;
	left: 23px;
	z-index: 1;
	background: url(/image/catalog/icon-svg/shopping-cart.svg) no-repeat;
	background-size: 100%;
	width: 2.4rem;
	height: 2.4rem;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	#cart.btn-block>button:before {
		top: 4px;
		left: 4px;
	}
}

#cart.btn-block>button .total-text {
	display: block;
}

#cart.btn-block>button>.count {
	position: absolute;
	left: 40px;
	top: 14px;
	min-width: 2.1rem;
	height: 2.1rem;
	border-radius: 20px;
	background-color: #ffd700;
	font-size: 1.3rem;
	color: #373952;
	line-height: 2.1rem;
	text-align: center;
	padding: 0 .5rem;
	z-index: 1;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	#cart.btn-block>button>.count {
		left: 20px;
		top: -5px;
	}
}

header .header-top .main-menu .cat-icon {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	position: relative;
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 20px 0 0;
}

header .header-top .main-menu .cat-icon i {
	display: block;
	position: absolute;
	top: 9px;
	left: 0;
	width: 20px;
	height: 2px;
	background: #ffd700;
}

header .header-top .main-menu .cat-icon i:before,
header .header-top .main-menu .cat-icon i:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	height: 2px;
	background: #ffd700;
	-o-transition: width .2s;
	transition: width .2s;
	will-change: width;
}

header .header-top .main-menu .cat-icon i:before {
	top: -6px;
	width: 15px;
}

header .header-top .main-menu .cat-icon i:after {
	top: 6px;
	width: 11px;
}

header .header-top .main-menu .cat-item-title:hover .cat-icon i:before,
header .header-top .main-menu .cat-item-title:hover .cat-icon i:after {
	width: 20px;
}


/* main-menu */

header .header-top .main-catalog {
	box-sizing: border-box;
	position: absolute;
	z-index: 20;
	top: 100%;
	left: 0;
	width: 100%;
	max-height: 600px;
	overflow: auto;
	padding: 25px 30px 10px;
	background: #fff;
	-ms-transform: translateY(20px);
	-o-transform: translateY(20px);
	transform: translateY(20px);
	visibility: hidden;
	opacity: 0;
	-o-transition: opacity .15s, visibility .3s, -o-transform .3s;
	transition: opacity .15s, visibility .3s, transform .3s;
	transition: opacity .15s, visibility .3s, transform .3s, -o-transform .3s;
	will-change: opacity, visibility, transform;
}

header .header-top .main-catalog::-webkit-scrollbar {
	width: 5px;
	background-color: #ddd;
}

header .header-top .main-catalog::-webkit-scrollbar-thumb {
	background-color: #006bdb;
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}

header .header-top .cat-item-title:hover .main-catalog {
	opacity: 1;
	visibility: visible;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
}

header .header-top .main-catalog .main-cat-inner {
	overflow: hidden;
	font-size: 0;
}

header .header-top .main-catalog .main-cat-inner,
header .header-top .main-catalog .submenu {
	padding: 0;
}

header .header-top .main-catalog .main-cat-inner>li .menu-img {
	display: block;
	width: 60px;
	position: absolute;
	top: 0;
	left: 0;
}

header .header-top .main-catalog .main-cat-inner>li .menu-img img {
	max-width: 100%;
}

header .header-top .main-cat-inner .submenu>li {
	margin-bottom: 4px;
}

header .header-top .main-cat-inner li a {
	color: #555;
	display: block;
	line-height: 1.33;
}

header .header-top .main-cat-inner li a.sub-title {
	font-weight: bold;
	color: #333;
	display: block;
	font-size: 15px;
	line-height: 20px;
	padding-bottom: 10px;
}

header .header-top .main-cat-inner li a:hover,
header .header-top .main-cat-inner li a.sub-title:hover {
	color: #373952;;
}

header .main-catalog .main-cat-inner>li {
	display: inline-block;
	float: left;
	margin: 0 0 30px;
	padding: 0 20px 0 70px;
	position: relative;
	min-height: 60px;
}

@media only screen and (max-width: 991px) {
	header .main-catalog .main-cat-inner>li {
		width: 33.3333%;
	}
	header .main-catalog .main-cat-inner>li:nth-child(3n+1) {
		clear: left;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1319px) {
	header .main-catalog .main-cat-inner>li {
		width: 25%;
	}
	header .main-catalog .main-cat-inner>li:nth-child(4n+1) {
		clear: left;
	}
}

@media only screen and (min-width: 1320px) {
	header .main-catalog .main-cat-inner>li {
		width: 20%;
	}
	header .main-catalog .main-cat-inner>li:nth-child(5n+1) {
		clear: left;
	}
}

.overlay {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	position: fixed;
	opacity: 0;
	visibility: hidden;
	transition: all .3s;
	z-index: 59;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65px, rgba(20, 20, 20, 0.4) 100%);
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65px, rgba(20, 20, 20, 0.4) 100%);
}

.hover-catalog .overlay {
	opacity: 1;
	visibility: visible;
}

.header-grid {
	width: 100%;
	display: table;
	height: 100%;
}

.header-grid:after {
	content: "";
	display: table-cell;
	vertical-align: middle;
	height: 100%;
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.header-grid {
		height: 6rem;
	}
}

.mobile-icon-search,
.mobile-icon-user {
	position: absolute;
	top: 1.5rem;
	line-height: 2.7rem;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 3.2rem;
	text-align: center;
}

.mobile-icon-search {
	right: 9.7rem;
}

.mobile-icon-user {
	right: 5.7rem;
}

.mobile-icon-search:after {
	background: url(/image/catalog/icon-svg/magnifying-glass.svg) no-repeat;
}

.mobile-icon-user:after {
	background: url(/image/catalog/icon-svg/user.svg) no-repeat;
}

.mobile-icon-search:after,
.mobile-icon-user:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-size: 100%;
	background-position: 50%;
	width: 1.8rem;
	height: 2.1798rem;
}

.header-cell {
	display: table-cell;
	height: 100%;
	vertical-align: top;
	transition: background .2s ease-in-out;
}

.header-logo {
	position: relative;
	z-index: 1;
	height: 100%;
	padding-left: 70px;
	font-size: 0;
	line-height: 0;
}

.header-logo a {
	vertical-align: middle;
	font-size: 36px;
	white-space: nowrap;
	color: #006bdb;
	font-weight: 800;
	display: inline-block;
}

.header-logo img {
	max-width: 138px;
	height: auto;
}

@media only screen and (max-width: 360px) {
	.header-logo img {
		max-width: 100px;
	}
	.header-logo a {
		font-size: 21px;
	}
}

@media only screen and (min-width: 768px) {
	.header-logo {
		vertical-align: middle;
		padding-left: 0;
	}
	.header-logo img {
		max-width: none;
	}
}

@media only screen and (min-width: 1200px) {
	.header-logo {
		padding-right: 20px;
	}
}

.header-list-mobile {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	z-index: 100;
	background-color: #fff;
	padding: 0;
	transition: transform .4s cubic-bezier(.19, 1, .22, 1);
	transform: translateY(100%);
	overflow-x: hidden;
	overflow-y: auto;
}

.header-list-mobile.show {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}

@media only screen and (min-width: 768px) {
	.header-list-mobile {
		display: none!important;
	}
}

.account-list-item {
	padding: 0;
}

.account-list-item-empty:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.account-list-item-empty {
	border-bottom: 1px solid #ededed;
}

.account-list-item-header {
	height: 6rem;
	font-size: 0;
	line-height: 0;
}

.account-list-item-header,
.account-list-link {
	margin: 0 10px;
}

.account-list-link .icon-login-sign {
	display: inline-block;
	vertical-align: middle;
	font-size: 1rem;
}

.icon-login-sign {
	background: url(/image/catalog/icon-svg/sign-in.svg) no-repeat;
	width: 1.5rem;
	height: 1.5rem;
	background-size: 100% 100%;
	margin: -3px 10px 0 0;
}

.account-list-link>.mobile-list-link:before,
.container-inner>.nav-mobile-list>.nav-mobile-list-item.sub-screen>.nav-mobile-list-link:before {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(/image/catalog/icon-svg/right-arrow.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 1rem;
	height: 1rem;
}

.mobile-list-link {
	display: block;
	font-size: 13px;
	color: #666;
	padding: 1.7rem 0 1.7rem 2rem;
	letter-spacing: normal;
	position: relative;
}

.account-list-item .account-list-link {
	padding: 0 1.2rem 0 0;
	border-bottom: 1px solid #ededed;
}

.nav-close {
	display: block;
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 999;
	background-color: transparent;
	border: none;
	outline: none;
	height: 3rem;
	width: 3rem;
	-webkit-appearance: none;
}

.nav-close:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	border: 1px solid rgba(0, 0, 0, .14);
	transition: .2s ease-in-out;
}

.nav-close:after {
	content: "";
	background: url(/image/catalog/icon-svg/icon-close.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 1rem;
	height: 1rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

@media only screen and (min-width: 768px) {
	.nav-close {
		display: none;
	}
}

.header-list-mobile-inner {
	padding: 0;
}

.header-cell:not(.contain-cell) {
	width: 1px;
	overflow: visible;
}

.header-logo:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.header-search {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
}

.header-search-mobile {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	z-index: 100;
	background-color: #fff;
	padding: 0;
	transition: transform .4s cubic-bezier(.19, 1, .22, 1);
	transform: translateY(100%);
}

.header-search-mobile.show {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}

@media only screen and (min-width: 768px) {
	.header-search-mobile {
		display: none!important;
	}
}

.header-search-mobile-control-container {
	position: absolute;
	top: 6rem;
	left: 0;
	width: 100%;
	padding: 0 1rem;
}

.header-search-inner {
	position: relative;
	height: 100%;
	padding: 0 1rem;
	font-size: 0;
	line-height: 0;
}

.header-search .search-block {
	padding-top: 6rem;
}

@media only screen and (min-width: 768px) {
	.header-search {
		display: block;
		position: relative;
	}
	.header-search-inner {
		padding: 0 .5rem 0 1.5rem;
	}
	.header-search .search-block {
		padding-top: 0;
	}
}

.header-search-inner:after {
	content: "";
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}

.search-control,
.search-control-input,
.search-control-mobile {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}

.header-search-inner .search-control {
	width: 100%;
}

.search-control-input {
	border: 1px solid #ededed;
	box-shadow: none;
	transition: box-shadow .15s ease-out;
	padding-right: 8rem;
	font-size: 1.4rem;
	padding: 1rem 1.6rem;
	border-radius: 6px;
	outline: none;
	-webkit-appearance: none;
}

.search-control-input:focus {
	box-shadow: 0 0 15px rgba(0, 0, 0, .1);
}

.search-control-clear {
	display: none;
	position: absolute;
	top: 0;
	right: 5rem;
	height: 100%;
	width: 3rem;
	cursor: pointer;
	z-index: 2;
}

.search-control-clear-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: url() no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 15px;
	height: 15px;
}

.custom-btn {
	display: inline-block;
	position: relative;
	font-size: 1.4rem;
	background-color: transparent;
	padding: 1rem 1.9rem;
	border: none;
	outline: none;
	transition: border-color .1s ease, color .1s ease, background-color .1s ease;
	vertical-align: middle;
	letter-spacing: .7px;
	-webkit-appearance: none;
}

.custom-btn,
.custom-btn:before {
	border-radius: 500px;
}

.custom-btn-push {
	font-family: inherit;
	font-size: 17px;
	color: inherit;
	letter-spacing: inherit;
}

.search-control-submit {
	position: absolute;
	top: 0;
	right: 0;
	color: #4c1e87;
	background-color: transparent;
	width: 5rem;
	height: 100%;
	padding: 0;
	border-radius: 8px;
	font-size: 0;
}

.search-control-icon {
	display: block;
	margin: 0 auto;
	background: url(/image/catalog/icon-svg/magnifying-glass.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 1.6rem;
	height: 1.9376rem;
}

.header-account {
	display: none;
	position: relative;
	font-size: 1.3rem;
	line-height: 1.38;
}

@media only screen and (min-width: 768px) {
	.header-account {
		display: table-cell;
		z-index: 1;
		width: 7.2rem!important;
		overflow: inherit!important;
	}
}

.header-account-inner {
	font-size: 0;
	line-height: 0;
	height: 100%;
	padding: 0 2rem;
	white-space: nowrap;
	cursor: pointer;
}

.header-account-icon {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.header-account-icon {
		width: 100%;
	}
}

.header-account-icon i {
	display: inline-block;
	background: url(/image/catalog/icon-svg/user.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 2rem;
	height: 2rem;
}

.header-account-inner:after {
	content: "";
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}

.header-account-dropdown {
	font-size: 0;
	background-color: #fff;
	width: 50rem;
	padding: 0 3rem;
}

.css-dropdown {
	display: none;
	position: absolute;
	top: 7rem;
	left: 0;
	z-index: 10;
	opacity: 0;
	box-shadow: 3px 5px 10px rgba(0, 0, 0, .07);
}

@media only screen and (min-width: 768px) {
	.css-dropdown {
		transition: opacity .1s ease-out;
	}
}

.css-dropdown-right {
	right: 0;
	left: auto;
	box-shadow: -3px 5px 10px rgba(0, 0, 0, .07);
}

.popup-show .css-dropdown {
	display: block;
}

.popup-open .css-dropdown {
	opacity: 1;
}

.css-dropdown-close {
	position: absolute;
	top: 3rem;
	right: 3rem;
	height: 3rem;
	width: 3rem;
	text-align: center;
	outline: none;
	-webkit-appearance: none;
	padding: 0;
	border: none;
	background: transparent;
	border-radius: 50%;
}

.css-dropdown-close:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	border: 1px solid rgba(0, 0, 0, .14);
	transition: .2s ease-in-out;
}

.css-dropdown-close:hover:before {
	border-color: transparent;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .14);
}

.css-dropdown-close:after {
	content: "";
	position: absolute;
	background: url(/image/catalog/icon-svg/icon-close.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 1rem;
	height: 1rem;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.header-account-block {
	padding: 1.8rem 0;
	border-top: 1px solid #ededed;
}

.header-account-block-auth {
	padding: 2.8rem 0;
}

.header-account-block:nth-child(2) {
	border-top: none;
}

.stroke-btn {
	border: none;
	background-color: transparent;
	border-radius: 6px;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .6px;
	line-height: 38px;
	padding: 0 2.8rem;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .2s ease-in-out;
}

.stroke-btn.stroke {
	background: #f9f9f9;
	border-style: solid;
	border-width: 2px;
}

.stroke-btn.stroke {
	border-color: #ffc800;
	color: #373952;
}

.stroke-btn.stroke:hover {
	border-color: #ffdb58;
	color: inherit;
}

.stroke-btn span {
	position: relative;
	z-index: 1;
}

.header-account-sign-up {
	margin-left: 1rem;
}

.header-account-list {
	line-height: 2;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.header-account-dropdown::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #ffffff transparent;
	position: absolute;
	top: -10px;
	right: 25px;
	content: "";
}

.header-account-list>li>a {
	color: inherit;
	font-size: 17px;
	position: relative;
}

.header-account-list .account-links>span {
	left: auto;
	top: 10px;
	right: -25px;
}

.header-account-list a:hover {
	color: #9acd32;
}

.header-compare {
	display: none;
	position: relative;
	font-size: 1.3rem;
	line-height: 1.38;
}

@media only screen and (min-width: 768px) {
	.header-compare {
		display: table-cell;
		z-index: 1;
		width: 7.2rem!important;
		overflow: inherit!important;
	}
}

.header-compare:after {
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: #ededed;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	.header-compare:after {
		display: none
	}
}

.header-compare-inner {
	font-size: 0;
	line-height: 0;
	height: 100%;
	white-space: nowrap;
	cursor: pointer;
}

.header-compare-icon {
	position: relative;
}

.header-compare-icon,
.header-compare-icon>a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.header-compare-icon i {
	display: inline-block;
	background: url(/image/catalog/icon-svg/libra.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 2.2rem;
	height: 2.2rem;
}

@media only screen and (min-width: 768px) {
	.header-compare-count {
		position: absolute;
		left: 50%;
		top: 25px;
		transform: translateY(-50%);
		min-width: 2.1rem;
		height: 2.1rem;
		border-radius: 20px;
		background-color: #ffd700;
		font-size: 1.3rem;
		color: #373952;
		line-height: 2.1rem;
		text-align: center;
		padding: 0 .5rem;
	}
}

.header-compare-inner:after {
	content: "";
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}

.header-wishlist {
	display: none;
	position: relative;
	font-size: 1.3rem;
	line-height: 1.38;
}

@media only screen and (min-width: 768px) {
	.header-wishlist {
		display: table-cell;
		z-index: 1;
		width: 7.2rem!important;
		overflow: inherit!important;
	}
}

.header-wishlist:after {
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: #ededed;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	.header-wishlist:after {
		display: none
	}
}

.header-wishlist-inner {
	font-size: 0;
	line-height: 0;
	height: 100%;
	white-space: nowrap;
	cursor: pointer;
}

.header-wishlist-icon {
	position: relative;
}

.header-wishlist-icon,
.header-wishlist-icon>a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

@media only screen and (min-width: 768px) {
	.header-wishlist-count {
		position: absolute;
		left: 50%;
		top: 25px;
		transform: translateY(-50%);
		min-width: 2.1rem;
		height: 2.1rem;
		border-radius: 20px;
		background-color: #ffd700;
		font-size: 1.3rem;
		color: #373952;
		line-height: 2.1rem;
		text-align: center;
		padding: 0 .5rem;
	}
}

.header-wishlist-icon i {
	display: inline-block;
	background: url(/image/catalog/icon-svg/e-commerce-like-heart.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 2rem;
	height: 2rem;
}

.header-wishlist-inner:after {
	content: "";
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}

.header-account:hover,
.header-compare:hover,
.header-wishlist:hover,
.header-cart-empty:hover {
	background-color: #f1f4f6;
}

.header-wishlist:hover+.header-cell:after,
.header-wishlist:hover:after,
.header-compare:hover+.header-cell:after,
.header-compare:hover:after,
.header-cart-empty:hover:after,
.header-account:hover+.header-cell:after {
	display: none;
}

.header-cart {
	position: absolute;
	top: 1.5rem;
	right: 2rem;
	font-size: 1.3rem;
	line-height: 1.38;
	background-color: #4c1e87;
	height: 3.2rem;
	border-radius: 3.2rem;
	color: #fff;
	transition: background .2s ease-in-out;
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.header-cart {
		width: 3.2rem!important;
	}
}

@media only screen and (min-width: 768px) {
	.header-cart {
		position: relative;
		top: auto;
		right: auto;
		z-index: 1;
		height: 100%;
		border-radius: 0;
		width: 7.2rem!important;
		overflow: inherit!important;
	}
}

@media only screen and (min-width: 1200px) {
	.header-cart {
		width: 16rem!important;
	}
}

.header-cart-empty:after {
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: #ededed;
}

@media only screen and (min-width: 0px) and (max-width:767px) {
	.header-cart-empty:after {
		display: none
	}
}

.header-cart-empty {
	color: #000;
	background-color: #fff;
}

.header-cart-inner {
	height: 100%;
	white-space: nowrap;
	cursor: pointer;
}

@media only screen and (min-width: 1200px) {
	.header-cart-inner {
		text-align: left;
	}
}

.header-cart-inner .status-cart {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
}

.header-cart-inner .status-cart:after {
	content: "";
	width: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
}


/* mobile */

.header-hamburger.mobile-only {
	display: block;
}

@media only screen and (min-width: 768px) {
	.header-hamburger.mobile-only {
		display: none;
	}
}

.header-hamburger {
	position: absolute;
	top: 1.5rem;
	left: 2rem;
	background-color: #333;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 3.2rem;
	z-index: 2;
}

.header-hamburger:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: url(/image/catalog/icon-svg/menu.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 13px;
	height: 13px;
}

.mobile-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	background-color: #fff;
	width: 100%;
	height: 100%;
	transition: transform .45s cubic-bezier(.19, 1, .22, 1);
	transform: translateX(-100%);
	overflow-x: hidden;
	overflow-y: auto;
}

.mobile-nav.open {
	transform: translateX(0);
}

.nav-container {
	padding: 0;
	height: 100%;
}

.nav-mobile-list {
	margin: 0;
	padding: 0 1rem;
	list-style-type: none;
}

.nav-mobile-list-item {
	padding: 0 1rem;
	border-bottom: 1px solid #ededed;
}

.nav-mobile-list-item-header {
	background-color: #ededed;
	height: 6rem;
	margin: 0 -1rem;
	font-size: 0;
	line-height: 0;
}

.nav-mobile-list-item-empty {
	background-color: transparent;
	margin: 0;
}

.container-inner>.nav-mobile-list>.nav-mobile-list-item:not(.nav-mobile-list-item-muted) {
	padding: 0 1rem 0 0;
}

.nav-mobile-list-link.has-icon {
	padding-left: 6rem;
}

.nav-mobile-list-link.has-icon:after {
	content: "";
	position: absolute;
	left: 2.5rem;
	top: 50%;
	transform: translate(-50%, -50%);
}

.nav-mobile-list-item.icon-catalog .nav-mobile-list-link:after {
	background: url(/image/catalog/icon-svg/grid-menu.svg) no-repeat;
	background-size: 100%;
	background-position: 50%;
	width: 16px;
	height: 16px;
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.sub-screen-sub {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style-type: none;
	}
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.sub-screen.active>.sub-screen-sub {
		display: block;
		overflow: visible;
	}
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.sub-screen-back {
		position: absolute;
		z-index: 999;
		visibility: hidden;
		opacity: 0;
		background-color: transparent;
		border: none;
		outline: none;
		transition: opacity .2s ease-out, visibility .2s ease-out;
		left: 1rem;
		top: 1rem;
		width: 3rem;
		height: 3rem;
		-webkit-appearance: none;
	}
	.sub-screen-back:after {
		content: "";
		background: url(/image/catalog/icon-svg/left-arrow.svg) no-repeat;
		background-size: 100%;
		background-position: 50%;
		width: 14px;
		height: 10.05128px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	.sub-screen-back.active {
		visibility: visible;
		opacity: 1;
	}
}

.mobile-only {
	display: block;
}

.nav-mobile-list-item-header:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.nav-mobile-list-link {
	display: block;
	font-size: 13px;
	position: relative;
	color: #666;
	padding: 1.7rem 0 1.7rem 2rem;
}


/* slideshow and carousel */

.owl-carousel.carousel .owl-wrapper-outer {
	box-shadow: none;
	border: none;
	border-radius: 0;
}


/* product-thumb */

.product-thumb {
	padding: 10px;
	background: #fff;
}

@media only screen and (min-width: 768px) {
	.product-thumb {
		padding: 20px;
	}
}

.product-thumb,
.product-thumb .hover-info {
	-webkit-transition: box-shadow ease-out .2s;
	-moz-transition: box-shadow ease-out .2s;
	-o-transition: box-shadow ease-out .2s;
	transition: box-shadow ease-out .2s;
}

@media only screen and (min-width: 768px) {
	.product-thumb:hover {
		box-shadow: 0 8px 25px rgba(48, 48, 48, 0.15);
		z-index: 2;
	}
}

.product-thumb {
	margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 4px 0px;
}

.product-thumb .image {
	margin-bottom: 5px;
}

.product-thumb,
.product-thumb .image,
.product-thumb .caption,
.product-thumb .product-name,
.product-thumb .button-group button,
.product-thumb .price,
.product-thumb .price-button,
.product-thumb .hover-info .short-attribute {
	position: relative;
}

.product-thumb .caption {
	min-height: 71px;
	margin-bottom: 20px;
}

.product-thumb .product-name {
	font-size: 13px;
	max-height: 40px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	color: #000000;
	line-height: 20px;
}

@media only screen and (min-width: 768px) {
	.product-thumb .product-name {
		font-size: 15px;
	}
}

.product-thumb .product-name,
.product-thumb .product-des {
	margin-bottom: 10px;
}

.product-thumb .price-button {
	min-height: 125px;
}

.product-thumb .price-button .button-group {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.product-thumb .product-des {
	color: #666;
	font-size: 13px;
	display: none;
}

.product-thumb .button-group button {
	padding-left: 40px;
    border-radius: 100px;
    padding: 8px 15px 8px 40px;
    font-size: 13px;
	width: 100%;
}

.product-thumb .button-group button i {
	position: absolute;
	left: 10px;
	top: 8px;
	width: 20px;
	height: 20px;
	background-size: cover;
	background-image: url(/image/catalog/icon-svg/shopping-cart-white.svg);
}

.product-thumb .button-group button:hover i {
	background-image: url(/image/catalog/icon-svg/shopping-cart.svg);
}

.product-thumb .button-group button.button_one_click_thumb i {
	position: absolute;
    left: 15px;
    top: 8px;
    width: 15px;
    height: 18px;
	background-size: cover;
	background-image: url(/image/catalog/icon-svg/timer-white.svg);
}

.product-thumb .button-group button.button_one_click_thumb:hover i {
	background-image: url(/image/catalog/icon-svg/timer.svg);
}

.product-thumb .price .main-price {
	font-size: 20px;
	color: #006bdb;
	margin-right: 7px;
}

.product-thumb .price .main-price,
.product-thumb .price .price-old {
	vertical-align: top;
	display: inline-block;
}

.product-thumb .price .main-price {
	font-weight: 500;
}

.product-thumb .price .price-old {
	font-size: 13px;
	color: #373952;
	position: relative;
}

.product-thumb .price .price-old:after {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #f91155;
    pointer-events: none;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}

@media only screen and (max-width: 350px) {
	.product-thumb .price .main-price {
		font-size: 15px;
	}
	.product-thumb .price .price-old {
		padding-top: 0;
	}
}

.product-thumb .price .price-new {
	color: #fa4d62;
	position: relative;
	text-align: left;
}

.tax-block {
	margin-top: 5px;
}

.price-tax {
	display: inline-block;
    font-size: 11px;
    color: #131418;
    line-height: normal;
    letter-spacing: normal;
}

@media only screen and (max-width: 767px) {
	.price-tax {
		font-size: 11px;
		height: 20px;
		line-height: 20px;
		letter-spacing: -.44px;
	}
}

.rating .star {
	color: #ffd700;
}

.rating .star-empty {
	color: #ccc;
}

.product-thumb .reviews-item {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-left: 35px;
}

.product-thumb .reviews-item:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 15px;
	width: 15px;
	height: 15px;
	display: block;
	background-size: cover;
	background-image: url(/image/catalog/icon-svg/comment-black-oval-bubble-shape.svg);
}

.product-thumb .reviews-item a {
	color: #999999;
    font-size: 13px;
}

.product-thumb .product-not-available .value {
	display: inline-block;
	font-size: 13px;
	color: #999;
}

.product-thumb .product-not-available .stock {
	font-weight: 700;
	color: #9acd32;
}

.product-thumb .hover-info {
	display: none!important;
	padding: 0 20px 10px;
	position: absolute;
	background: #fff;
	width: 100%;
	z-index: 3;
	left: 0;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 8px 25px rgba(48, 48, 48, 0.2);
	margin-top: 20px;
	border-top: 1px solid;
	border-color: #f1f4f6;
}

@media only screen and (min-width: 768px) {
	.product-thumb:hover .hover-info {
		display: block!important;
	}
}

.product-thumb .hover-info .attributes .short-item {
	margin-top: 7px;
	font-size: 13px;
	line-height: 18px;
}

.product-thumb .hover-info .attributes .attr-right {
	color: #000;
}

.product-thumb .short-attribute:before {
	position: absolute;
	top: -28px;
	left: -20px;
	right: -20px;
	z-index: 1;
	height: 20px;
	content: "";
	background: #fff;
}

.toolbar-icons {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

.toolbar-icons span {
	display: flex;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background: rgba(232, 236, 239, 0.9);
	transition: background .2s;
	margin: 0 0 5px;
	width: 35px;
	height: 35px;
	line-height: 30px;
	align-items: center;
	justify-content: center;
}

.toolbar-icons span i {
	width: 18px;
	height: 18px;
	display: block;
	background-size: cover;
}

.toolbar-icons span.wishlist-item i {
	background-image: url(/image/catalog/icon-svg/e-commerce-like-heart.svg);
}

.toolbar-icons span.wishlist-item:hover i {
	background-image: url(/image/catalog/icon-svg/e-commerce-like-heart-white.svg);
}

.toolbar-icons span.compare-item i {
	background-image: url(/image/catalog/icon-svg/scale-in-balance.svg);
}

.toolbar-icons span.compare-item:hover i {
	background-image: url(/image/catalog/icon-svg/scale-in-balance-white.svg);
}

.toolbar-icons span:hover {
	cursor: pointer;
	background-color: #ffc801;
}

.toolbar-icons .percent-icon>span {
	background: rgba(250, 77, 98, 0.9);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	cursor: auto;
}


/* product-list */

@media only screen and (min-width: 768px) {
	.product-list .product-thumb {
		display: table;
		width: 100%;
		min-height: 183px;
	}
	.product-list .product-thumb>div {
		display: table-cell;
		vertical-align: middle;
	}
	.product-list .product-thumb .image {
		width: 15%;
		padding-right: 20px;
	}
	.product-list .product-thumb .image img {
		max-width: 100px;
		max-height: 100px;
	}
	.product-list .product-thumb .caption {
		width: 65%;
		padding-right: 20px;
	}
	.product-list .product-thumb .price-button {
		width: 20%;
		text-align: center;
	}
	.product-list .product-thumb .product-des {
		display: block;
	}
	.product-list .product-thumb .product-name {
		height: auto;
	}
	.product-list .product-thumb .toolbar-icons {
		right: 15px;
		top: -7px;
	}
	.product-list .product-thumb .price-button .button-group {
		position: inherit;
	}
	.product-list .product-thumb .price-button .price {
		margin-bottom: 15px;
	}
	.product-list .product-thumb:hover .hover-info {
		bottom: -173px;
	}
}


/* extension/module/category.tpl */

.list-group li {
	list-style: none;
}

.list-sub.active>a {
	font-size: 12px;
	color: inherit;
}

@media only screen and (min-width: 992px) {
	.list-sub.active>a {
		font-size: 15px;
	}
}

.list-dropdown>li a:before,
.list-sub>a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 3px;
	height: 100%;
	background: transparent;
	display: block;
}

.list-group .list-sub.active>a,
.list-dropdown>li:hover>a,
.list-sub:hover>a {
	background: #f9f9f9;
	color: #333;
}

.list-group .list-sub.active>a:before,
.list-dropdown>li:hover>a:before,
.list-sub:hover>a:before {
	background: #373952;
}

.list-group .list-dropdown,
.list-group .list-dropdown-menu {
	padding: 0;
}

.list-group .list-dropdown-menu {
	position: absolute;
	left: 100%;
	width: 100%;
	z-index: 1100;
	margin-left: -1px;
	background: #fff;
	top: 0;
	display: none;
	box-shadow: 0 2px 10px 0 rgba(0, 0, 0, .1);
}

.list-group .list-sub {
	position: relative;
}

.list-group .list-sub>a>i {
	position: absolute;
	right: 15px;
	top: 13px;
	z-index: 1;
}

@media only screen and (min-width: 1200px) {
	.list-group .list-sub>a>i {
		top: 23px;
	}
}

.list-group .list-sub:hover .list-dropdown-menu {
	display: block;
}

.list-group .list-dropdown-menu>li>a {
	padding: 13px 20px 11px 17px;
	display: block;
	color: #333;
	font-size: 13px;
	transition: all .3s;
	border-bottom: 1px solid #f1f4f6;
}

.list-group .list-dropdown-menu>li>a:last-child {
	border-bottom: 0;
}

@media only screen and (min-width: 1025px) {
	.list-group .list-dropdown-menu>li>a {
		font-size: 14px;
	}
}

.list-group .list-dropdown-menu>li>a:hover {
	background: #f1f4f6;
}

.list-group .list-dropdown>li>a>img {
	display: none;
}

@media (min-width: 1200px) {
	.list-group .list-dropdown>li>a {
		padding-left: 60px;
	}
	.list-group .list-dropdown>li>a>img {
		position: absolute;
		display: block;
		left: 15px;
		top: 15px;
		z-index: 1;
	}
}

@media (min-width: 1360px) {
	#column-left,
	#column-right {
		width: 20%;
	}
	#content.col-sm-9 {
		width: 80%;
	}
	#content.col-sm-6 {
		width: 60%;
	}
}


/* product/category/category.tpl */

.refine-block .item {
	text-align: center;
    background: #fff;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 8px;
    -webkit-box-shadow: 0 1px 3px 0 rgba(201, 211, 216, 0.43);
    box-shadow: 0 1px 3px 0 rgba(201, 211, 216, 0.43);
}

.refine-block .item:hover {
	box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 4px 0px;
}

.refine-block .item a {
	line-height: 20px;
	color: #333;
	display: block;
	padding: 0 0 60px 0;
	position: relative;
}

.refine-block .item a:before {
	position: absolute;
	top: 0;
	left: -100%;
	z-index: 2;
	display: block;
	content: '';
	width: 30%;
	height: 100%;
	background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.12) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.12) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
	transition-duration: 300ms;
	-webkit-transition-duration: 300ms;
	-moz-transition-duration: 300ms;
	-ms-transition-duration: 300ms;
	-o-transition-duration: 300ms;
}

.refine-block .item:hover>a:before {
	-webkit-animation: shine .75s;
	animation: shine .75s;
}

@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}

.refine-block .item img {
	margin-bottom: 20px;
	padding-top: 20px;
}

.refine-block .item .item-name {
	display: flex;
	height: 60px;
	position: absolute;
	width: 100%;
	font-size: 13px;
	left: 0;
	bottom: 0;
	z-index: 2;
	background: rgb(255, 255, 255);
	align-items: center;
	justify-content: center;
	padding: 0 15px;
}

@media only screen and (min-width: 1200px) {
	.refine-block .item .item-name {
		font-size: 15px;
	}
}

#list-view.btn.active,
#grid-view.btn.active {
	background: #373952;
	color: #fff;
}

#list-view.btn,
#grid-view.btn {
	background: #ffffff;
	color: #333;
}

.nice-select.form-control,
#input-sort,
#input-limit {
	height: 31px;
	border: 0;
	padding: 0 10px;
	font-size: 13px;
	line-height: 31px;
}

.product-card {
	margin-bottom: 20px;
}

/* .product-card .row {
	margin-left: -2px;
	margin-right: -2px;
}

.product-card [class*="col-"] {
	padding-left: 2px;
	padding-right: 2px;
} */


/* product.tpl */

.catalog-detail {
	padding: 10px;
    position: relative;
    border-radius: 4px;
    box-shadow: 0 0 1rem 0.5rem rgba(0, 0, 0, 0.04);
}

.product-quantity button.btn-primary {
	min-width: 180px;
    border-radius: 3px;
    text-transform: none;
}

@media only screen and (max-width: 767px) {
	.product-quantity,
	.product-buy-btn {
		margin-bottom: 20px;
	}
}

.detail-bottom {
	padding: 10px 15px;
}

#tab-specification .table>tbody>tr>td {
	width: 50%;
}

/* Характеристики под описанием: название слева, значение справа. */
#tab-specification .table-specs {
	max-width: 760px;
}

#tab-specification .table-specs>tbody>tr>th,
#tab-specification .table-specs>tbody>tr>td {
	width: 50%;
	padding: 9px 12px;
	vertical-align: top;
	border-top: 0;
	font-size: 14px;
	line-height: 1.45;
}

#tab-specification .table-specs>tbody>tr>th {
	font-weight: 400;
	color: #6b7280;
}

#tab-specification .table-specs>tbody>tr>td {
	color: #1f2937;
	overflow-wrap: anywhere;
}

@media only screen and (min-width: 768px) {
	.catalog-detail,
	.detail-bottom {
		padding: 20px 25px;
	}
}

.product-options .cont-title {
	margin-top: 0;
	text-transform: none;
	letter-spacing: normal;
	font-weight: 300;
	margin-bottom: 20px;
}

.thumbnails {
	list-style: none;
	padding: 0;
	font-size: 0;
}

.catalog-header {
	border-bottom: 1px solid #ededed;
	background: #fff;
	padding: 10px;
}

.catalog-header,
.catalog-info-user {
	position: relative;
}

@media only screen and (min-width: 768px) {
	.catalog-info-user {
		padding-right: 33rem;
	}
}

.catalog-header h1 {
	font-weight: 800;
	font-size: 21px;
	margin-top: 0;
	margin-bottom: 8px;
	line-height: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #222;
	letter-spacing: normal;
}

@media only screen and (min-width: 768px) {
	.catalog-header {
		padding: 20px;
	}
	.catalog-header h1 {
		font-size: 30px;
		line-height: 34px;
		margin-bottom: 10px;
	}
}

.catalog-header .item-stats {
	display: flex;
	flex-wrap: wrap;
}

.catalog-header .item-stats .sku-block {
	font-size: 13px;
	margin-right: 10px;
}

.catalog-header .item-stats .rating a {
	padding-left: 30px;
	font-size: 14px;
	color: #333;
	position: relative;
	letter-spacing: normal;
}

.catalog-header .product-btn {
	display: none;
}

@media only screen and (min-width: 768px) {
	.catalog-header .product-btn {
		position: absolute;
		right: 0;
		top: 16px;
		z-index: 1;
		display: block;
	}
}

.thumbnails-block .thumbnails .main-photo {
	border: 0;
}

.catalog-header .item-stats .rating a.review-link:before,
.catalog-header .item-stats .rating a.review-write:before,
.thumbnails-block .thumbnails .main-photo:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 10px;
	width: 15px;
	height: 15px;
	display: block;
	background-size: cover;
}

.catalog-header .item-stats .rating a.review-link:before {
	background-image: url(/image/catalog/icon-svg/comment-black-oval-bubble-shape.svg);
}

.catalog-header .item-stats .rating a.review-write:before {
	background-image: url(/image/catalog/icon-svg/writing.svg);
}

.thumbnails-block .image-additional {
	display: inline-block;
}

.thumbnails-block .image-additional a {
	margin: 0 10px 10px 0;
}

.thumbnails-block .thumbnails .main-photo:before {
	background-image: url(/image/catalog/icon-svg/expand.svg);
	top: auto;
	bottom: 20px;
	left: auto;
	right: 20px;
	width: 30px;
	height: 30px;
}

.short-attr {
	margin-top: 20px;
    font-size: 11px;
    color: #999;
}

.icon-special img {
	padding-right: 10px;
    position: relative;
    top: -2px;
}

/* attributes in product.tpl */

.tab-pane-title {
	font-size: 23px;
}


/* review in product.tpl */

.rating-info-block {
	padding: 12px 0;
	margin: 0 0 12px;
	/* border-bottom: 1px solid #e6eae6; */
	border-top: 1px solid #e6eae6;
	overflow: hidden;
}

.rating-info-block .average-rating {
	display: block;
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 19px;
	color: #29353b;
}

.rating-info-block .rating>span>i {
	font-size: 26px;
}

.based-review {
	margin: 20px 0 5px 0;
}

.based-review-text {
	font-size: 15px;
	display: inline-block;
	height: 32px;
	border-radius: 50px;
	padding: 0 15px;
	line-height: 32px;
	color: #222426;
	background: rgba(217, 227, 236, .5);
}

.based-review-text>span {
	color: #29bb44;
	padding-right: 25px;
	position: relative;
	font-weight: 600;
}

.based-review-text>span:after {
	content: "";
	position: absolute;
	top: 1px;
	right: 0;
	width: 15px;
	height: 15px;
	display: block;
	background-size: cover;
	background-image: url(/image/catalog/icon-svg/comment.svg);
}

.form-review-entry {
	margin: 30px 0;
}

.table.table-attributes strong {
	font-size: 2.5rem;
	padding: 8px 0;
	display: block;
	font-weight: 400;
}

@media only screen and () {
	.table.table-attributes strong {
		font-size: 3.5rem;
	}
}


/* Plus Minus Button ib product.tpl */

.product-quantity input {
	padding: 0 10px;
	border: 1px solid #e6e6e6;
	width: 60px;
	height: 35px;
	border-width: 1px 0 1px 0;
	text-align: center;
}

.product-quantity .plus-minus {
	display: -webkit-flex;
	display: flex;
}

.product-quantity .plus-minus button {
	width: 35px;
	height: 35px;
	line-height: 30px;
	padding: 0;
}

.product-quantity .plus-minus button:hover,
.product-quantity .plus-minus button:active,
.product-quantity .plus-minus button:focus {
	background: #f1f4f6;
    border-color: #e5ebf1;
}

.product-quantity .plus-minus button.btn-mns {
	border-radius: 0 3px 3px 0;
}

.product-quantity .plus-minus button.btn-pls {
	border-radius: 3px 0 0 3px;
}


/* price block */

.product-price .price {
	position: relative;
	margin-bottom: 20px;
	min-height: 60px;
}

.product-price .price .price-caption {
	left: 0;
	bottom: 0;
	font-weight: 700;
}

.product-price .price .price-panel {
	position: relative;
	padding-top: 25px;
	color: #006bdb;
	float: right;
	line-height: 1;
}

.product-price .price .price-panel .price-old {
	top: 0;
	right: 0;
	color: #FF2323;
	line-height: 1.5em;
}

.product-price .price .price-panel .price-old>.value {
	color: #006bdb;
	margin-right: 10px;
	position: relative;
}

.product-price .price .price-panel .price-old>.value:after {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #f91155;
    pointer-events: none;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}

.product-price .price .product-sticker {
	padding: 0 6px;
	background: #fa4d62;
	color: #fff;
	font-size: 13px;
	height: 20px;
	display: inline-block;
	line-height: 20px;
	vertical-align: top;
	position: relative;
}

.product-price .price .product-sticker:before {
	content: "";
	border-width: 10px 0px 10px 6px;
	border-style: solid;
}

.product-price .price .product-sticker:before {
	width: 0px;
	height: 0px;
	position: absolute;
	left: -6px;
	top: 0px;
}

.product-price .price .product-sticker:before {
	border-color: #fa4d62 #fa4d62 #fa4d62 transparent;
}

.product-price .price .price-panel .main-price {
	font-size: 38px;
	font-weight: 700;
}

.product-price .price .tax-block,
.product-price .price .price-panel .price-old,
.product-price .price .price-caption {
	position: absolute;
}

.product-price .price .tax-block {
	top: 0;
	left: 0;
	margin: 0;
}

.product-btn {
	font-size: 0;
}

.product-btn button.btn {
	border-color: #e5ebf1;
    position: relative;
    border-radius: 30px;
    padding: 0 15px 0 35px;
    line-height: 30px;
    font-size: 13px;
    color: #526975;
}

@media only screen and (max-width: 360px) {
	.product-btn button.btn {
		font-size: 12px;
	}
}

.product-btn button.btn:hover {
	background: transparent;
    border-color: #b8d1ff;
    color: #558cf0;
}

.product-btn button.btn+.btn {
	margin-left: 8px;
}

.product-btn button.btn.btn-wishlist:before {
	background-image: url(/image/catalog/icon-svg/e-commerce-like-heart.svg);
}

.product-btn button.btn.btn-compare:before {
	background-image: url(/image/catalog/icon-svg/scale-in-balance.svg);
}

.product-btn button.btn:before {
	content: "";
	position: absolute;
	left: 13px;
	top: 7px;
	background-size: 100%;
	width: 16px;
	height: 16px;
}

.discount-price,
.list-product>li {
	color: #888;
	font-size: 15px;
	padding-bottom: 5px;
}

.discount-price>span,
.list-product>li>span:not(.stock) {
	color: #000;
	min-width: 142px;
	display: inline-block;
	text-align: left;
}

/* product-checkbox and product-radio */
.product-checkbox,
.product-radio {
	display: none;
}
.product-options {
	font-size: 0;
}
.product-options label.control-label {
	font-size: 13px;
}
.product-options .radio,
.product-options .checkbox {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    margin: 0 1rem 1rem 0;
}
.product-options .checkbox label,
.product-options .radio label {
    padding-left: 0;
}
.product-options .radio .radio-text,
.product-options .checkbox .checkbox-text {
    position: relative;
    display: inline-block;
    padding: 7px 10px;
    background: #f7f7f7;
    border-radius: .3rem;
    cursor: pointer;
	font-size: 13px;
}
.product-options .alert {
	font-size: 13px;
}
.product-options .radio .checkbox-price,
.product-options .checkbox .checkbox-price {
    display: inline-block;
    vertical-align: middle;
    color: #777;
    font-size: 1.1rem;
    line-height: 0;
	margin-left: .5rem;
}
.product-options .radio .radio-price,
.product-options .radio .radio-text
.product-options .checkbox .checkbox-price,
.product-options .checkbox .checkbox-text {
	transition: all .2s ease-in-out;
}
.product-options .product-radio:checked ~ label .radio-text,
.product-options .product-checkbox:checked ~ label .checkbox-text {
    background: #00c3f5;
}
.product-options .product-radio:checked ~ label .checkbox-price,
.product-options .product-radio:checked ~ label .radio-text,
.product-options .product-checkbox:checked ~ label .checkbox-price,
.product-options .product-checkbox:checked ~ label .checkbox-text {
	color: #fff;
}
.product-options label img {
	border-radius: 50%;
    width: 4rem;
    height: 4rem;
	border: 2px solid #ddd;
	padding: 3px;
}
.product-options .product-radio:checked ~ label img {
	border: 2px solid #00c3f5;
}

/* quantity-form in product.tpl */
.quantity-form {
	margin-top: 20px;
}

.quantity-form span {
	font-size: 15px;
    letter-spacing: normal;
}


/* Стили для блока "Преимущества" */

.promo {
	-ms-flex-align: stretch;
	align-items: stretch;
	font-size: 0;
	line-height: 1.4;
	margin-left: -20px;
}

.promo,
.promo__item {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media only screen and (max-width: 1199px) {
	.promo,
	.promo__item {
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
}

.promo__item {
	margin-left: 20px;
	text-decoration: none;
	width: calc(50% - 20px);
	background: #fff;
	border-radius: 8px;
	padding: 20px;
	box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 4px 0px;
}

.promo__icon {
	display: block;
	-ms-flex: none;
	flex: none;
	width: 60px;
	height: 60px;
}

.promo__icon img {
	border-radius: 4px;
	width: 100%;
	height: 100%;
}

.promo__info {
	-ms-flex: 1;
	flex: 1;
	margin-left: 20px;
}

.promo__title {
	color: #2a2a2a;
	display: block;
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 5px;
	transition: color .2s ease-out;
}

.promo__text {
	color: #686f8a;
	display: block;
	font-size: 13px;
}

@media screen and (max-width: 1024px) {
	.promo__item {
		text-align: center;
	}
	.promo__icon {
		margin-bottom: 20px;
	}
	.promo__info {
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.promo__item {
		-ms-flex-direction: row;
		flex-direction: row;
		margin-left: 0;
		margin-bottom: 30px;
		text-align: left;
		width: 100%;
	}
	.promo__icon {
		margin-bottom: 0;
	}
	.promo__info {
		margin-left: 20px;
	}
	.promo {
		-ms-flex-direction: column;
		flex-direction: column;
		margin-left: 0;
	}
}


/* Стили для блока "Инфо баннеры" */

.promo-img {
	font-size: 0;
	display: none;
}

@media only screen and (min-width: 768px) {
	.promo-img {
		font-size: 0;
		display: block;
	}
}

.promo-img__flex {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.promo-img__flex-item {
	border-radius: 3px;
	-ms-flex: none;
	flex: none;
	overflow: hidden;
	position: relative;
	width: 49%;
}

.promo-img img {
	border-radius: 3px;
	width: 100%;
}

.promo-img__flex-item img {
	transition: transform .5s ease-out;
}

.promo-img__flex-item:hover img {
	transform: scale(1.05);
}

.promo-img__content {
	line-height: 1.4;
	padding: 30px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.promo-img__content-title,
.promo-img__content-title-top {
	display: block;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promo-img__content-title-top {
	color: #aadc46;
	font-size: 15px;
}

.promo-img__content-title {
	color: #fff;
	font-size: 24px;
}

.promo-img__content-title,
.promo-img__content-title-top {
	display: block;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promo-img__content-link {
	color: #fff;
	border-bottom: 2px solid #aadc46;
	display: inline-block;
	font-size: 15px;
	margin-top: 10px;
	transition: border .1s ease-out;
}

@media screen and (max-width: 767px) {
	.promo-img__flex {
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: -30px;
	}
	.promo-img__flex-item {
		margin-top: 30px;
		width: 100%;
	}
	.promo-img__content {
		padding: 15px;
	}
}


/* footer */

.footer {
	background: #006bdb;
	position: relative;
	font-weight: 400;
	line-height: 22px;
	margin-top: 20px;
}

.footer .footer-wrap {
	width: 100%;
	padding: 30px 0 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	border-top: 1px solid #3c3f50;
}

.footer .footer-wrap h5 {
	margin-top: 0;
	color: #fff;
	font-size: 17px;
	line-height: 20px;
	margin-bottom: 16px;
	position: relative;
	font-weight: normal;
}

.footer .footer-wrap ul>li>a {
	font-size: 13px;
	line-height: 17px;
	color: #fff;
	display: block;
}

@media only screen and (min-width: 1024px) {
	.footer .footer-wrap .phone {
		font-size: 20px;
	}
}

.footer .footer-wrap .contact-form>li i {
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	color: #ecbe00;
	margin-right: 7px;
}

.footer .footer-wrap .contact-form>li>a,
.footer .footer-wrap .address-form,
.footer .footer-wrap .footer-payment>p {
	color: #fff;
}

.footer .footer-wrap ul>li>a:hover {
	color: #fff;
}

.footer .footer-wrap ul>li+li {
	margin-top: 12px;
}

@media only screen and (min-width: 992px) {
	.footer .footer-wrap .col-sm-3 {
		width: 20%;
	}
}

.footer-bottom {
	padding: 20px 0 0;
	background: #00458e;
	font-size: 13px;
	color: #ffffff;
}

.footer-payment {
	margin-top: 20px;
}

.footer-payment-item {
	vertical-align: middle;
	margin-right: 6px;
}

.footer-social {
	margin-top: 15px;
}

.footer-social>a>span {
	font-size: inherit;
	color: #fff;
}

.footer-social-item {
	width: 40px;
	line-height: 40px;
	text-align: center;
	height: 40px;
}

.footer-social-link {
	display: inline-block;
	font-size: 18px;
	border: 1px solid #fff;
	border-radius: 20px;
	-webkit-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
	color: #58646c;
}

.footer-social-item+.footer-social-item {
	margin-left: 5px;
}

.footer .footer-email-block {
	background-color: #ffc800;
}

.footer .footer-email-block .footer-email-wrapper {
	background-color: transparent;
	background-repeat: no-repeat;
	text-align: center;
	overflow: hidden;
}

.footer .footer-email-block .footer-email-wrapper,
.footer .footer-email-block .footer-email-content {
	clear: both;
}

.footer-email-wrapper .news-img {
	background: rgba(0, 0, 0, 0) url(/image/catalog/icon-svg/newsletter.svg) no-repeat scroll center center;
	background-size: 100%;
	float: left;
	height: 55px;
	margin: 0 25px 0 0;
	width: 55px;
}

.heading-title {
	margin-bottom: 50px;
}

.footer-email-wrapper .footer-email-content .heading-title {
	overflow: hidden;
	margin: 0 0 0;
	text-align: left;
}

.footer-email-wrapper .footer-email-content .heading-title h5 {
	font-size: 20px;
	color: #000000;
	margin: 0 0 5px;
	line-height: 25px;
	background-color: transparent;
	padding: 0;
	font-weight: 600;
	text-transform: capitalize;
}

.block_newsletter .news-text-warp {
	margin: 2px 0 0;
}

.footer .news-text-warp {
	margin-top: 5px;
}

.footer-email-wrapper .newsletter-form {
	width: 100%;
}

.footer-email-wrapper .newsletter-form .form-group {
	margin: 0;
	position: relative;
	display: inline-block;
	width: 100%;
	font-size: 0;
}

.footer-email-wrapper .newsletter-form .form-group .input-news {
	display: inline-block;
	width: 100%;
	margin: 0 0;
	text-align: left;
}

.input-email {
	padding: 10px 150px 10px 15px;
	width: 100%;
	border: 0;
	background-color: #ffffff!important;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-khtml-border-rad: 4px;
	height: 48px !important;
	font-size: 14px;
}

.newsletter-form .text-danger,
.newsletter-form .text-success {
	font-size: 12px;
	letter-spacing: 1px;
	margin-top: 10px;
	text-align: left;
	padding: 0 7px;
	display: inline-block;
	border-radius: 3px;
}

.newsletter-form .text-danger {
	color: #ffffff;
	background: #ff0000;
}

.newsletter-form .text-success {
	color: #ffffff;
	background: #26a026;
}

.footer-email-wrapper .newsletter-form .form-group .subscribe-btn {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 5px;
	left: auto;
	right: 5px;
}

.subscribe-btn .btn {
	text-transform: capitalize;
	background-color: #373952;
	color: #ffffff;
	padding: 7px 25px;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 1px;
	border-radius: 4px;
	height: 38px;
	border: none;
	overflow: hidden;
	transition-duration: 300ms;
	-webkit-transition-duration: 300ms;
	-moz-transition-duration: 300ms;
	-ms-transition-duration: 300ms;
}

.subscribe-btn .btn:hover {
	background-color: #ECBE00;
	border: none;
	color: #000000;
}

.footer .footer-email-block .container {
	padding: 33px 0;
}


/* common/cart.tpl */

#cart a:not(.btn-primary) {
	color: inherit;
}

/* Высота по содержимому: прокрутка появляется, только когда товаров много,
   и никогда — вбок (длинное название доставки переносится). */
#cart .dropdown-menu {
	width: 450px;
	padding: 20px;
	top: 70px;
	margin: 0;
	border-radius: 0;
	height: auto;
	max-height: min(550px, calc(100vh - 90px));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}

#cart .dropdown-menu .table-bordered td {
	white-space: normal;
}

#cart .dropdown-menu .table-bordered td.text-right {
	white-space: nowrap;
	padding-left: 12px;
	vertical-align: top;
}

#cart .dropdown-menu .table-bordered td.text-left {
	vertical-align: top;
}

#cart .dropdown-menu::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #ffffff transparent;
	position: absolute;
	top: -10px;
	right: 18px;
	content: "";
}

#cart .table>tbody>tr>td,
#cart .table-bordered {
	border: none;
	padding: 8px 0;
	vertical-align: middle;
}

#cart .dropdown-menu>li>p {
	font-size: 17px;
	margin: 0;
	font-weight: 700;
}

#cart .cart-btn {
	text-transform: uppercase;
	font-size: 14px;
	padding: 11px 25px 11px;
	border-radius: 4px;
	background: #ff4e4f;
	border: 2px solid #ff4e4f;
	color: #fff;
	font-weight: 600;
}

#cart .cart-btn:hover {
	background: #ee3c3d;
	border-color: #ee3c3d;
}

#cart .product-name {
	width: 50%;
}

#cart .product-name>a {
	font-size: 13px;
	white-space: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	max-height: 54px;
}

@media only screen and (max-width: 767px) {
	#cart .product-name>a {
		padding-left: 17px;
	}
}

#cart .product-price {
	font-weight: 700;
	font-size: 12px;
	color: #000;
}

#cart .trash-icon {
	background-image: url(/image/catalog/icon-svg/icon-close.svg);
	width: 10px;
	height: 10px;
	display: inline-block;
	background-size: contain;
	box-sizing: content-box;
	background-repeat: no-repeat;
	cursor: pointer;
}

#cart .product-clear {
	width: 50px;
}

@media screen and (max-width: 767px) {
	#cart .dropdown-menu {
		display: block;
		width: 100%;
		margin: 0;
		top: 0;
		position: fixed;
		height: 100%;
		max-height: none;
		padding: 60px 10px;
		opacity: 0;
		visibility: hidden;
		transition: transform .4s cubic-bezier(.19, 1, .22, 1);
		transform: translateY(100%);
	}
	.open>.dropdown-menu {
		transform: translateY(0)!important;
		opacity: 1!important;
		visibility: visible!important;
	}
	#cart .product-name {
		width: auto;
	}
}

#cart .product-img {
	position: relative;
}

#cart .product-img img {
	max-width: 50px;
}

#cart .product-count {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #ff4e4f;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 11px;
	width: 20px;
	height: 20px;
	line-height: 21px;
}


/* language and currency */

.language-selector {
	white-space: normal;
	display: block;
	font-size: 14px;
	border-top: 1px solid #ededed;
	border-bottom: 1px solid #ededed;
	padding: 10px 0;
	margin: 10px 0;
}

.account-list-item .language-selector,
.account-list-item .currency-selector {
	margin: 20px 0;
	padding: 0 30px;
	border: 0;
}

.currency-selector .language-selector-label,
.currency-selector .currency-selector-label,
.language-selector .language-selector-label,
.language-selector .currency-selector-label {
	font-size: 17px;
	color: inherit;
}

.currency-selector ul,
.language-selector ul {
	padding: 0;
}

.currency-selector li,
.language-selector li {
	display: inline-block;
	vertical-align: middle;
}

.currency-selector li .btn-link,
.language-selector li .btn-link {
	padding: 4px 4px;
	margin-right: 5px;
	font-size: 13px;
	font-weight: 400;
	color: #666666;
}

.currency-selector li .btn-link:last-child,
.language-selector li .btn-link:last-child {
	margin-right: 0;
}

.currency-selector li .btn-link:hover,
.language-selector li .btn-link:hover {
	color: #9acd32;
	text-decoration: none;
}


/* brand logo */

.brand-logo a {
	display: block;
    padding: 15px;
    border: 1px solid #f1f4f6;
    margin-bottom: 20px;
}

.brand-logo img {
	transition: all .3s;
}

.brand-logo a:hover {
	border-color: #ededed;
}

.brand-logo .brand-name {
	display: block;
	font-size: 17px;
	color: #000;
	font-weight: 500;
	margin-top: 10px;
}

.brand-logo a:hover img {
	-webkit-transform: translateY(-10px);
	-ms-transform: translateY(-10px);
	transform: translateY(-10px);
}


/* alert header */

.toast-header {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	padding: .25rem .75rem;
	color: #6c757d;
	background-color: rgba(255, 255, 255, .85);
	background-clip: padding-box;
	border-bottom: 1px solid rgba(0, 0, 0, .05);
}


/* login */

.form-login>h2,
.form-register>h2,
.form-forgot>h2 {
	margin-top: 0;
	font-weight: 300;
}

.login-content .btn {
	padding: 10px 20px;
	margin-bottom: 10px;
}


/* tags */

.tags-group .tags-list {
	padding: 0;
	margin: 0 0 36px;
	font-size: 0;
}

.tags-group .tags-group-list {
	font-size: 0;
	max-height: 28px;
	overflow: hidden;
}

.tags-group .tags-item {
	background: #ffffff;
	border: 0;
	border-radius: 40px;
	display: inline-block;
	margin: 0 8px 8px 0;
	-webkit-transition: background .5s;
	transition: background .3s;
}

.tags-group .tags-item a {
	color: #000;
	font-weight: 400;
	font-size: 15px;
	display: block;
	padding: 6px 12px;
	text-decoration: none;
}

.tags-group .tags-item:hover {
	background: #e5e5e5;
}


/* carousel */

.slider-carousel.carousel {
	background: #fff;
	padding: 25px 0;
}


/* contact.tpl */


/* rating-review in product.tpl*/

.input-title {
	display: block;
	margin-bottom: 1rem;
	font-size: 15px;
}

.review-rating {
	font-size: 0;
	color: #dadae6;
	display: inline-block;
	vertical-align: middle;
}

.review-rating input {
	display: none;
}

.review-rating * {
	font-size: 21px;
	vertical-align: middle;
	cursor: pointer;
}

.review-rating label {
	color: #dadae6;
}

.review-star.active,
.review-star.checked {
	color: #ffa500;
}

.review-rating label .ion-android-star {
	font-size: 28px;
	padding: .2rem .4rem .2rem 0;
	cursor: pointer;
}


/* checkout-cart */

.checkout-info {
	position: relative;
	margin-bottom: 20px;
	box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 4px 0px;
}

.checkout-info,
.checkout-info .checkout-header {
	border-bottom: 1px solid #f1f4f6;
}

.checkout-info-image {
	z-index: 1;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 20px 0;
	justify-content: center;
	background: #fff;
	border-bottom: 1px solid #f1f4f6;
}

@media only screen and (min-width: 992px) {
	.checkout-info {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 768px) {
	.checkout-info {
		padding-left: 18rem;
	}
	.checkout-info-image {
		width: 18rem;
		position: absolute;
		left: 0;
		top: 0;
		padding: 0;
		height: 100%;
		border-right: 1px solid #f1f4f6;
		border-bottom: 0;
	}
}

.checkout-info .checkout-header .checkout-info-header,
.checkout-info .checkout-info-body,
.checkout-header-right,
.checkout-info-button,
.checkout-price-block,
.checkout-payment {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.checkout-price-block .c-price+.c-price {
	margin-left: 6.2rem;
}

.checkout-info .checkout-image-block {
	display: inline-block;
	vertical-align: middle;
}

.checkout-info .checkout-header,
.checkout-info .card {
	margin-bottom: 0;
}

.checkout-info .checkout-header h3 {
	margin: 0;
	font-size: 21px;
	width: 100%;
}

.checkout-info .checkout-header h3 a {
	color: #000;
}

.checkout-info .checkout-header h3,
.checkout-info-body h5 {
	letter-spacing: normal;
}

.checkout-info-body h5 {
	color: #000;
}

@media only screen and (min-width: 768px) {
	.checkout-info-body h5 {
		margin: 0 0 5px 0;
	}
}

.checkout-stock {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 1;
}

.checkout-stock span {
	display: block;
	border: 2px solid;
	width: 30px;
	height: 30px;
	line-height: 32px;
	text-align: center;
	border-radius: 100%;
	background: #f90500;
	color: #fff;
}

.checkout-info-button {
	position: relative;
}

.checkout-info-button .form-control {
	padding: 0 20px 0 10px;
	font-size: 13px;
	border-color: #dbe0e5;
	border-radius: 0;
}

.checkout-info-button .form-control,
.checkout-info-button button {
	display: inline-block;
	line-height: 25px;
}

.checkout-info-button .form-control {
	width: 50px;
	border: 0;
}

.checkout-info-button button {
	cursor: pointer;
	display: inline-block;
	width: 30px;
	text-align: center;
	background: #dbe0e5;
	line-height: 30px;
	border: 0;
	padding: 0;
	border-radius: 100%;
	color: #000;
}

.checkout-info-button button:hover {
	border-color: #dbe0e5;
}

.checkout-info-button .plus-minus {
	display: flex;
}

.checkout-header-right .button-remove {
	font-size: 13px;
	color: #999;
	cursor: pointer;
	letter-spacing: normal;
}

.checkout-header-right .button-remove:hover {
	color: #f90500;
}

.checkout-info-body>div {
	padding-right: 10px;
}

.checkout-summary {
	border-bottom: 1px solid #ededed;
	padding: 20px;
	margin: -20px -20px 20px;
}

.checkout-text {
	font-weight: 700;
}

.checkout-payment:last-child .checkout-text {
	font-size: 31px;
	font-weight: 800;
	color: #000;
}

.checkout-title h4 {
	color: #888;
    font-weight: normal;
    font-size: 15px;
    margin: 0;
    line-height: 24px;
}

.checkout-payment:last-child {
	margin-top: 10px;
}

.checkout-payment:last-child .checkout-title>h4 {
	font-size: 31px;
    font-weight: 800;
    color: #000;
}

.checkout-info-name-list small {
	border: 2px solid #ffd700;
	padding: 0 5px;
	margin: 5px 0;
	display: table;
	border-radius: 3px;
	letter-spacing: normal;
	font-size: 13px;
}

.checkout-weight {
	display: inline-block;
	background: #6a5acd;
	color: #fff;
	padding: 0 15px;
	height: 25px;
	line-height: 25px;
	margin-bottom: 18px;
	border-radius: 2px;
}


/* checkout/cart.php  */

.empty-cart-inner {
	color: #333;
	font-size: 1.5rem;
	line-height: 2.4rem;
	max-width: 60rem;
	text-align: center;
	margin-top: 3rem;
}

.empty-cart {
	color: #000;
	font-size: 2.2rem;
	line-height: 2.6rem;
	margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {
	.empty-cart-inner {
		margin: 7rem auto;
	}
	.empty-cart {
		font-size: 3.6rem;
		line-height: 3.6rem;
		font-weight: 300;
	}
}

.empty-cart-inner p {
	margin: 0;
	padding-bottom: 2rem;
}


/* product/compare.tpl */

.emtpy-compare {
	font-size: 3rem;
	line-height: normal;
	font-weight: 300;
	max-width: 60rem;
	margin: 70px auto;
}

/* viewed products */
.viewed-box {
	margin-bottom: 20px;
}
.viewed-box .product-thumb {
	display: flex;
    min-height: 153px;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    border-right: 1px solid #f1f4f6;
}
.viewed-box .product-thumb .image {
	min-width: 90px;
    min-height: 90px;
    margin: 0;
}
.viewed-box .product-thumb .caption {
	margin: 0 0 0 20px;
}
.viewed-box .product-thumb .caption h4 {
	margin: 0 0 10px;
    font-size: 16px;
    line-height: 19px;
    max-height: 38px;
    overflow: hidden;
}
.viewed-box .product-thumb .caption h4 a {
	color: inherit;
	text-overflow: ellipsis;
	font-size: 15px;
}
.viewed-box .product-thumb .price .price-old {
	padding: 0;
    line-height: 18px;
}
.viewed-box .product-thumb .price .price-new {
	padding: 0;
    font-size: 17px;
    line-height: 18px;
}
.viewed-box .product-thumb .price .price-new:before {
	display: none!important;
}

/* category_wall */
.category-wall {
	margin-bottom: 20px;
}
.category-wall .cat-wall {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    white-space: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 4px 0px;
	padding: 20px;
}
.category-wall .cat-name {
    font-weight: 700;
    color: #001a34;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 22px;
    max-height: 66px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
	width: 160px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
	padding: 0 16px 0 0;
}
.category-wall .cat-image {
    width: 100%;
    position: relative;
}
.category-wall .img-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}
.category-wall .img-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.category-wall .img-container .main-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

.dropdown-phones {
	padding-bottom: 0;
	border-radius: 0px 0px 10px 10px;
}

.dropdown-phones a {
	color: #333 !important;
	padding-left: 18px !important;
}

.dropdown-phones a::before {
	content: none !important;
}

.viber-number {
	background: #ad3ee5;
}

.viber-number-a {
	color:#fff !important;
}

.viber-header {
	font-size: 24px;
    text-align: center;
    background: #ad3ee5;
    color: #fff;
    padding: 10px;
}

.viber-number:last-child {
	padding-bottom: 5px;
	border-radius: 0px 0px 10px 10px;
}

.dropdown-phones>.viber-number:hover, .dropdown-phones>.viber-number:hover a {
	background: #743594 !important;
}

.telegram-header {
	font-size: 24px;
    text-align: center;
    background: #30a4d7;
    color: #fff;
    padding: 10px;
}

.telegram-header:hover {
	background: #3394bf;
}

.dropdown-phones>.telegram-header-a {
	padding: 0 !important;
}

.bassein-number {
	background: #006bdc;
}


.bassein-header {
	font-size: 24px;
    text-align: center;
    background: #006bdc;
    color: #fff;
    padding: 10px;
}


.dropdown-phones>.bassein-number:hover, .dropdown-phones>.bassein-number:hover a {
	background: #114f91 !important;
}

.bassein-header span {
	font-size: 14px;
}

.viber-header span {
	font-size: 14px;
}

button.language-select {
	text-align: left;
}

button.language-select:hover {
	text-decoration: none;
}

.footer_phone_header {
	color: #fff;
    padding: 5px;
    font-weight: 300;
}

.button_one_click_thumb {
	margin-top: 15px;
}

.cat_heading span{
	text-transform: lowercase;
}

/* ── Кнопки «поделиться» на карточке товара (аудит 21.09.2026) ──────────────
   Раньше здесь стоял виджет Yandex Share с yastatic.net: домен заблокирован
   в Украине, браузер ждал таймаута, а кружки с логотипами так и не появлялись.
   Теперь обычные ссылки; стилей под них в теме не было, поэтому выводились
   просто слова. Возвращаем привычный вид — круглые кнопки в цветах брендов. */
.product-share {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 0 15px;
}
.product-share__link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 8px 8px 0;
	border-radius: 50%;
	color: #fff;
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
	-webkit-transition: opacity .15s ease;
	transition: opacity .15s ease;
}
.product-share__link:hover,
.product-share__link:focus {
	color: #fff;
	opacity: .85;
	text-decoration: none;
}
.product-share__link--fb { background: #1877f2; }
.product-share__link--vb { background: #7360f2; }
.product-share__link--wa { background: #25d366; }
.product-share__link--tg { background: #2aabee; }
/* Название бренда остаётся в разметке для скринридеров, но не показывается. */
.product-share__text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Подсказки поиска (js/live-search.js) ---------- */

.live-search {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	/* Поле в шапке планшета узкое — список не уже 42rem, но в пределах экрана. */
	min-width: min(42rem, calc(100vw - 2rem));
	z-index: 990;
	max-height: min(70vh, 56rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	border: 1px solid #dbe0e5;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(44, 55, 62, .14);
	font-size: 1.4rem;
	/* Ячейка поиска в шапке обнуляет высоту строки — своя. */
	line-height: 1.4;
	letter-spacing: normal;
	text-align: left;
	white-space: normal;
}

.live-search[hidden] {
	display: none;
}

.live-search-item {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	min-height: 6.4rem;
	padding: .8rem 1.2rem;
	color: #2c373e;
	text-decoration: none;
	border-bottom: 1px solid #f1f4f6;
	cursor: pointer;
}

.live-search-item:hover,
.live-search-item:focus,
.live-search-item.is-active {
	background: #f1f4f6;
	color: #2c373e;
	text-decoration: none;
	outline: none;
}

.live-search-item.is-active {
	box-shadow: inset 3px 0 0 #4c1e87;
}

.live-search-thumb {
	flex: 0 0 4.8rem;
	width: 4.8rem;
	height: 4.8rem;
	object-fit: contain;
	background: #fff;
}

.live-search-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .3rem;
}

.live-search-name {
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.live-search-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem 1rem;
	font-size: 1.2rem;
	color: #5d6a73;
}

.live-search-code {
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.live-search-stock.is-in {
	color: #1f7a3a;
}

.live-search-stock.is-out {
	color: #8a5a00;
}

.live-search-price {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	font-weight: 500;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.live-search-price-new {
	color: #c8243a;
}

.live-search-price-old {
	font-size: 1.2rem;
	font-weight: 400;
	color: #5d6a73;
	text-decoration: line-through;
}

.live-search-notice,
.live-search-state {
	padding: 1rem 1.2rem;
	font-size: 1.3rem;
	color: #5d6a73;
	border-bottom: 1px solid #f1f4f6;
}

.live-search-notice {
	background: #fbf7e9;
	color: #5b4500;
}

.live-search-error {
	color: #a12a1f;
}

.live-search-all {
	display: block;
	padding: 1.2rem;
	text-align: center;
	font-weight: 500;
	color: #4c1e87;
	text-decoration: none;
}

.live-search-all:hover,
.live-search-all:focus {
	background: #f1f4f6;
	color: #4c1e87;
	text-decoration: underline;
}

/* Телефон: поиск открыт поверх страницы — список во всю ширину, до низа экрана. */
.search-control-mobile .live-search {
	max-height: calc(100vh - 14rem);
	max-height: calc(100dvh - 14rem);
}

@media (max-width: 380px) {
	.live-search-item {
		gap: .8rem;
		padding: .8rem;
	}

	.live-search-price {
		font-size: 1.3rem;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.live-search-item {
		transition: background-color .1s ease;
	}
}

/* Страница результатов: «исправлено на…», «нет слова…», отладка. */
.search-notice {
	margin: 0 0 1.6rem;
	padding: 1.2rem 1.6rem;
	background: #fbf7e9;
	border-radius: 6px;
	color: #5b4500;
	font-size: 1.4rem;
}

.search-empty-hint {
	color: #5d6a73;
	max-width: 65ch;
}

.search-debug {
	display: block;
	margin-top: .4rem;
	font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
	color: #5d6a73;
	white-space: normal;
	overflow-wrap: anywhere;
}


/* ---------- Оформлення: місто й відділення перевізника (carrier-picker.js) ---------- */

.carrier-dest {
	display: grid;
	gap: 1.2rem;
	margin: .4rem 0 1.6rem 2.4rem;
	padding: 1.4rem 1.6rem;
	max-width: 56rem;
	background: #f7f9fa;
	border: 1px solid #e3e8ec;
	border-radius: 6px;
}

.carrier-dest[hidden] {
	display: none;
}

.carrier-field label {
	display: block;
	margin-bottom: .4rem;
	font-weight: 500;
}

.carrier-combo {
	position: relative;
}

.carrier-list {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 990;
	max-height: min(50vh, 36rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	margin: 0;
	padding: .4rem 0;
	list-style: none;
	background: #fff;
	border: 1px solid #dbe0e5;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(44, 55, 62, .14);
	font-size: 1.4rem;
	line-height: 1.4;
}

.carrier-list[hidden] {
	display: none;
}

.carrier-list [role=option] {
	padding: .8rem 1.2rem;
	color: #2c373e;
	cursor: pointer;
}

.carrier-list [role=option]:hover,
.carrier-list [role=option].is-active {
	background: #f1f4f6;
}

.carrier-list [role=option].is-active {
	box-shadow: inset 3px 0 0 #4c1e87;
}

.carrier-list .carrier-note {
	padding: .8rem 1.2rem;
	color: #5d6a73;
}

.carrier-error:empty {
	display: none;
}

.carrier-error {
	margin-top: .4rem;
	color: #b3261e;
	font-size: 1.3rem;
}

.carrier-field.has-error .form-control {
	border-color: #b3261e;
}

.carrier-hint {
	margin: 0;
	color: #8a5a00;
	font-size: 1.3rem;
}

/* Курьер: дом и квартира — в один ряд; подпись «необов'язково» тише. */
.carrier-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
}

.carrier-optional {
	font-weight: 400;
	color: #5d6a73;
	font-size: 1.3rem;
}

.carrier-list .carrier-sub {
	display: block;
	color: #5d6a73;
	font-size: 1.3rem;
}

@media (max-width: 767px) {
	.carrier-dest {
		margin-left: 0;
		padding: 1.2rem;
	}
}

/* ---------- Оформлення замовлення на одній сторінці (checkout/onepage) ---------- */

.op {
	--op-primary: #006bdb;
	--op-primary-soft: #eef5fe;
	--op-text: #2c373e;
	--op-muted: #5d6a73;
	--op-line: #e3e8ec;
	--op-error: #b3261e;
	color: var(--op-text);
	font-size: 1.5rem;
	line-height: 1.5;
	padding-bottom: 4rem;
}

.op-title {
	margin: .4rem 0 2rem;
	font-size: clamp(2.6rem, 4vw, 3.4rem);
	font-weight: 800;
	color: #111516;
	line-height: 1.15;
}

.op-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 40rem);
	gap: 2rem;
	align-items: start;
}

.op-main {
	display: grid;
	gap: 1.6rem;
	min-width: 0;
}

.op-card {
	background: #fff;
	border-radius: 10px;
	padding: 2.4rem;
}

.op-card-title {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0 0 1.6rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
	color: #111516;
}

.op-step {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 50%;
	background: var(--op-primary);
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.op-login {
	margin: -.4rem 0 1.6rem;
	color: var(--op-muted);
}

.op-login a,
.op-link,
.op-fine a {
	color: var(--op-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.op-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem 1.6rem;
}

.op-field--wide {
	grid-column: 1 / -1;
}

.op-field label,
.op .carrier-field label {
	display: block;
	margin-bottom: .6rem;
	font-weight: 500;
	font-size: 1.4rem;
}

.op-req {
	color: var(--op-error);
}

.op .form-control {
	height: 4.8rem;
	padding: 1rem 1.4rem;
	font-size: 1.6rem;
	border: 1px solid #cfd7de;
	border-radius: 8px;
	box-shadow: none;
	color: var(--op-text);
}

.op textarea.form-control {
	height: auto;
	min-height: 9.6rem;
}

.op .form-control:focus {
	border-color: var(--op-primary);
	box-shadow: 0 0 0 3px rgba(0, 107, 219, .18);
	outline: none;
}

.op-field.has-error .form-control,
.op .carrier-field.has-error .form-control {
	border-color: var(--op-error);
}

.op-help {
	margin: .6rem 0 0;
	color: var(--op-muted);
	font-size: 1.3rem;
}

.op-fields > .op-help {
	margin-top: -.4rem;
}

.op-error {
	margin-top: .6rem;
	color: var(--op-error);
	font-size: 1.3rem;
}

.op-error:empty {
	display: none;
}

.op-alert {
	padding: 1.4rem 1.6rem;
	border-radius: 10px;
	background: #fdecea;
	color: var(--op-error);
}

.op-alert[hidden] {
	display: none;
}

/* Варіанти доставки й оплати */

.op-options {
	display: grid;
	gap: .8rem;
}

.op-option[hidden] {
	display: none;
}

.op-option {
	border: 1px solid var(--op-line);
	border-radius: 10px;
	background: #fff;
	transition: border-color .15s ease, background-color .15s ease;
}

.op-option:hover {
	border-color: #b9c6d2;
}

.op-option.is-checked {
	border-color: var(--op-primary);
	background: var(--op-primary-soft);
}

.op-option-head {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0;
	padding: 1.2rem 1.6rem;
	min-height: 5.6rem;
	font-weight: 400;
	cursor: pointer;
}

.op-option-head input[type=radio] {
	flex: 0 0 auto;
	width: 1.8rem;
	height: 1.8rem;
	margin: 0;
	accent-color: var(--op-primary);
}

.op-logo {
	flex: 0 0 auto;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 8px;
	object-fit: contain;
}

.op-logo--store {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #e8edf2;
	color: var(--op-text);
}

.op-option-text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: .2rem 1.2rem;
	flex: 1 1 auto;
	min-width: 0;
}

.op-option-title {
	font-weight: 500;
}

.op-option-note {
	color: var(--op-muted);
	font-size: 1.3rem;
	white-space: nowrap;
}

.op-option-desc {
	margin: -.2rem 1.6rem 1.4rem 6.2rem;
	color: var(--op-muted);
	font-size: 1.4rem;
}

.op-option-desc[hidden] {
	display: none;
}

.op .carrier-dest {
	margin: 0 1.6rem 1.6rem;
	max-width: none;
	background: #fff;
	border-color: var(--op-line);
}

.op-comment {
	margin-top: 1.6rem;
}

.op-comment summary {
	cursor: pointer;
	color: var(--op-primary);
	font-weight: 500;
	width: max-content;
}

.op-comment textarea {
	margin-top: 1rem;
}

/* Підсумок */

.op-side {
	position: sticky;
	/* Под закреплённой шапкой сайта (.header-top) — высоту меряет onepage.js. */
	top: var(--op-top, 1.6rem);
	/* Переход по строке «Ваше замовлення» — тоже под шапку. */
	scroll-margin-top: var(--op-top, 1.6rem);
}

@media (min-width: 992px) {
	.op-side .op-summary {
		max-height: calc(100vh - var(--op-top, 1.6rem) - 1.6rem);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* Телефон: строка «Ваше замовлення» над формой и панель «Підтвердити» снизу. */

.op-chip {
	display: none;
}

.op-bar {
	display: none;
}

@media (max-width: 991px) {
	.op-chip {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: .2rem .8rem;
		margin: -.8rem 0 1.6rem;
		padding: 1.2rem 1.6rem;
		background: #fff;
		border-radius: 10px;
		color: var(--op-text);
		text-decoration: none;
	}

	.op-chip:hover,
	.op-chip:focus {
		color: var(--op-text);
		text-decoration: none;
	}

	.op-chip-label {
		color: var(--op-muted);
	}

	.op-chip-value {
		font-weight: 600;
		font-variant-numeric: tabular-nums;
	}

	.op-chip-link {
		margin-left: auto;
		color: var(--op-primary);
		text-decoration: underline;
		text-underline-offset: 2px;
	}

	.op-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		/* Ниже .header-top (20): иначе панель видна поверх открытого мобильного меню. */
		z-index: 19;
		display: flex;
		align-items: center;
		gap: 1.2rem;
		padding: 1rem 1.6rem calc(1rem + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -4px 16px rgba(44, 55, 62, .12);
		transform: translateY(110%);
		transition: transform .2s ease;
		visibility: hidden;
	}

	.op-bar.is-on {
		transform: none;
		visibility: visible;
	}

	.op-bar-sum {
		display: grid;
		line-height: 1.2;
		font-variant-numeric: tabular-nums;
	}

	.op-bar-sum span {
		color: var(--op-muted);
		font-size: 1.2rem;
	}

	.op-bar-sum strong {
		font-size: 1.8rem;
		color: #111516;
	}

	.op-bar-submit {
		flex: 1 1 auto;
		min-height: 4.8rem;
		padding: 1rem 1.6rem;
		border: 0;
		border-radius: 10px;
		background: var(--op-primary);
		color: #fff;
		font-size: 1.6rem;
		font-weight: 600;
	}

	.op-bar-submit:disabled {
		background: #8fb6e6;
	}

	/* Виджет звонка/чата (Binotel) — над панелью, а не поверх кнопки. */
	body.op-bar-on #bwc-widget-action {
		transform: translateY(-7.6rem);
		transition: transform .2s ease;
	}

	.op {
		padding-bottom: 9.6rem;
	}

	.op-title {
		margin-bottom: 1.6rem;
	}

	.op-card-title {
		font-size: 1.8rem;
	}
}

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
	.op-bar,
	body.op-bar-on #bwc-widget-action {
		transition: none;
	}
}

.op-summary-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.op-summary-head .op-card-title {
	margin-bottom: 1.2rem;
}

.op-items {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 44rem;
	overflow-y: auto;
}

.op-item {
	display: grid;
	grid-template-columns: 5.6rem minmax(0, 1fr) auto;
	gap: 1.2rem;
	padding: 1.2rem 0;
	border-top: 1px solid var(--op-line);
}

.op-item.is-busy {
	opacity: .5;
	pointer-events: none;
}

.op-item.is-out .op-item-name {
	color: var(--op-error);
}

.op-item-thumb img {
	display: block;
	width: 5.6rem;
	height: 5.6rem;
	object-fit: contain;
}

.op-item-body {
	display: grid;
	gap: .6rem;
	min-width: 0;
}

.op-item-name {
	color: var(--op-text);
	font-size: 1.4rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.op-item-meta {
	color: var(--op-muted);
	font-size: 1.2rem;
}

.op-item-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.op-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--op-line);
	border-radius: 8px;
}

.op-qty-btn {
	width: 3.2rem;
	height: 3.2rem;
	border: 0;
	background: none;
	font-size: 1.8rem;
	line-height: 1;
	color: var(--op-text);
	cursor: pointer;
}

.op-qty-btn:disabled {
	color: #b9c1c8;
	cursor: default;
}

.op-qty-value {
	min-width: 4.4rem;
	text-align: center;
	font-size: 1.3rem;
	font-variant-numeric: tabular-nums;
}

.op-item-total {
	font-weight: 600;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.op-item-remove {
	align-self: start;
	width: 3.2rem;
	height: 3.2rem;
	border: 0;
	border-radius: 8px;
	background: none;
	color: var(--op-muted);
	cursor: pointer;
}

.op-item-remove:hover {
	background: #f1f4f6;
	color: var(--op-error);
}

.op-totals {
	display: grid;
	gap: .6rem;
	padding: 1.4rem 0;
	border-top: 1px solid var(--op-line);
}

.op-total-row {
	display: flex;
	justify-content: space-between;
	gap: 1.2rem;
	color: var(--op-muted);
	font-variant-numeric: tabular-nums;
}

.op-total-row span:last-child {
	color: var(--op-text);
	text-align: right;
}

.op-grand {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.2rem;
	padding: 1.4rem 0 1.8rem;
	border-top: 1px solid var(--op-line);
	font-size: 2rem;
	font-weight: 700;
	color: #111516;
	font-variant-numeric: tabular-nums;
}

.op-submit {
	display: block;
	width: 100%;
	min-height: 5.6rem;
	padding: 1.4rem 2rem;
	border: 0;
	border-radius: 10px;
	background: var(--op-primary);
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s ease;
}

.op-submit:hover {
	background: #0058b5;
}

.op-submit:focus-visible,
.op-option-head input:focus-visible,
.op-qty-btn:focus-visible,
.op-item-remove:focus-visible {
	outline: 3px solid rgba(0, 107, 219, .35);
	outline-offset: 2px;
}

.op-submit:disabled {
	background: #8fb6e6;
	cursor: progress;
}

.op-fine {
	margin: 1.2rem 0 0;
	color: var(--op-muted);
	font-size: 1.3rem;
	text-align: center;
}

.op-payment {
	margin-top: 2rem;
}

.op-payment[hidden] {
	display: none;
}

@media (max-width: 991px) {
	.op-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.op-side {
		position: static;
	}

	.op-items {
		max-height: none;
	}
}

@media (max-width: 575px) {
	.op-card {
		padding: 1.6rem;
	}

	.op-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.op-option-head {
		padding: 1.2rem;
	}

	.op-option-desc {
		margin-left: 1.2rem;
	}

	.op .carrier-dest {
		margin: 0 1.2rem 1.2rem;
		padding: 1.2rem;
	}

	.op-option-note {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.op-option,
	.op-submit {
		transition: none;
	}
}

/* ---------- PageSpeed 04.10.2026: главный слайдер без сдвига страницы ---------- */

/* До запуска карусели (slick.js грузится с defer) виден только первый слайд:
   раньше все баннеры стояли столбиком и потом схлопывались — CLS 1.0. */
.slider-slideshow:not(.slick-initialized) .item + .item {
	display: none;
}

.slider-slideshow img {
	width: 100%;
	height: auto;
}


/* information/page_*.tpl — «Про нас», «Оплата та доставка», «Повернення та обмін».
   Та же палитра, что у оформления заказа (.op): синий бренда, светло-голубая подложка
   иконок, белые карточки на сером фоне сайта. Сначала телефон. */

.ip {
	--ip-primary: #006bdb;
	--ip-primary-soft: #eef5fe;
	--ip-text: #2c373e;
	--ip-muted: #5d6a73;
	--ip-line: #e3e8ec;
	--ip-warn: #8a5a00;
	--ip-warn-soft: #fff6dc;
	--ip-warn-line: #f3d98c;
	--ip-radius: 12px;
	color: var(--ip-text);
	font-size: 16px;
	line-height: 1.6;
	padding-bottom: 32px;
}

.ip p {
	margin: 0 0 12px;
	max-width: 68ch;
}

.ip p:last-child {
	margin-bottom: 0;
}

.ip a:not(.btn) {
	color: var(--ip-primary);
}

.ip [id] {
	scroll-margin-top: 84px;
}

.ip-icon {
	width: 24px;
	height: 24px;
	flex: none;
}

.ip-muted {
	color: var(--ip-muted);
}

.ip-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Не <header>: у темы на header стоит z-index 60, и блок перекрывал мобильное меню
   (оно внутри .header-top с z-index 20). */
.ip-head,
.os-hero {
	position: static;
	z-index: auto;
}

.ip-head {
	background: #fff;
	border-radius: var(--ip-radius);
	padding: 24px 20px;
	margin-bottom: 16px;
}

.ip-title {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 700;
	text-wrap: balance;
}

.ip-lead {
	font-size: 17px;
	color: var(--ip-muted);
}

.ip-toc {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.ip-toc a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid var(--ip-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}

.ip-toc a:hover,
.ip-toc a:focus-visible {
	border-color: var(--ip-primary);
	background: var(--ip-primary-soft);
	text-decoration: none;
}

.ip-section {
	margin-bottom: 16px;
}

.ip-card {
	background: #fff;
	border-radius: var(--ip-radius);
	padding: 20px;
	margin-bottom: 16px;
}

.ip-section > .ip-card:last-child,
.ip-split > .ip-card {
	margin-bottom: 0;
}

.ip-h2 {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
	text-wrap: balance;
}

.ip-section > .ip-h2 {
	margin: 24px 0 12px;
}

.ip-card.ip-section > .ip-h2 {
	margin-top: 0;
}

.ip-h3 {
	margin: 0 0 6px;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
}

.ip-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
	margin-bottom: 12px;
}

/* Значок (или логотип перевозчика) — в одной строке с заголовком, текст под ним
   на всю ширину карточки. Так же, как на «Контактах» и в разделах на главной. */
.ip-h-icon {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ip-h3.ip-h-icon {
	margin-bottom: 10px;
}

.ip-h-icon > span:last-child {
	min-width: 0;
}

.ip-h-icon .ip-badge {
	width: 40px;
	height: 40px;
	flex: none;
	margin: 0;
}

.ip-h-icon .ip-badge .ip-icon {
	width: 22px;
	height: 22px;
}

.ip .ip-h-icon .ip-logo {
	flex: none;
	margin: 0;
}

.ip-tiles {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ip-tile {
	background: #fff;
	border-radius: var(--ip-radius);
	padding: 20px;
}

.ip-tile p {
	color: var(--ip-muted);
	font-size: 15px;
}

.ip .ip-logo {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
	margin: 0 0 12px;
}

.ip-split,
.ip-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

.ip-columns {
	margin: 16px 0;
}

.ip-note {
	font-size: 14px;
	color: var(--ip-muted);
	margin-top: 12px !important;
}

.ip-checks,
.ip-bullets,
.ip-help-list {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.ip-checks li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 8px;
}

.ip-checks .ip-icon {
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: var(--ip-primary);
}

.ip-checks-no .ip-icon {
	color: #b3261e;
}

.ip-bullets {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--ip-line);
}

.ip-bullets li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 8px;
	color: var(--ip-muted);
	max-width: 72ch;
}

.ip-bullets li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ip-line);
}

/* Шаги — настоящая последовательность, поэтому с номерами. */
.ip-steps {
	counter-reset: ip-step;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.ip-steps li {
	counter-increment: ip-step;
	position: relative;
	padding: 0 0 18px 48px;
	min-height: 34px;
}

.ip-steps li::before {
	content: counter(ip-step);
	position: absolute;
	left: 0;
	top: -2px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ip-primary);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-variant-numeric: tabular-nums;
}

.ip-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 34px;
	bottom: 2px;
	width: 2px;
	background: var(--ip-primary-soft);
}

.ip-steps li:last-child {
	padding-bottom: 0;
}

.ip-callout {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--ip-warn-soft);
	border: 1px solid var(--ip-warn-line);
	border-radius: var(--ip-radius);
	padding: 16px;
	margin: 16px 0;
}

.ip-callout > .ip-icon {
	color: var(--ip-warn);
	margin-top: 1px;
}

.ip-callout p {
	margin: 0;
}

.ip-facts {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.ip-facts li {
	background: #fff;
	border-radius: var(--ip-radius);
	padding: 16px 20px;
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.ip-facts strong {
	font-size: 24px;
	line-height: 1.1;
	color: var(--ip-primary);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ip-facts span {
	color: var(--ip-muted);
	font-size: 15px;
	line-height: 1.4;
}

.ip-visit-line {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.ip-steps + .ip-visit-line {
	margin-top: 16px;
}

.ip-visit-line .ip-icon {
	color: var(--ip-primary);
	margin-top: 1px;
}

.ip-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-weight: 500;
}

.ip-link .ip-icon {
	width: 18px;
	height: 18px;
}

.ip-copy {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 12px;
	padding: 6px 6px 6px 12px;
	border: 1px solid var(--ip-line);
	border-radius: 10px;
	font-variant-numeric: tabular-nums;
}

.ip-copy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border: 0;
	border-radius: 8px;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}

.ip-copy-btn .ip-icon {
	width: 20px;
	height: 20px;
}

.ip-copy-btn:hover {
	background: #dcebfd;
}

.ip-copy-btn:focus-visible,
.ip-toc a:focus-visible,
.ip-btn-ghost:focus-visible {
	outline: 2px solid var(--ip-primary);
	outline-offset: 2px;
}

.ip-copy-btn.is-done {
	background: var(--ip-primary);
	color: #fff;
}

.ip-requisites {
	margin-top: 16px;
}

.ip-dl {
	margin: 12px 0 0;
}

.ip-dl > div {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
	padding: 10px 0;
	border-top: 1px solid var(--ip-line);
}

.ip-dl dt {
	font-weight: 400;
	font-size: 14px;
	color: var(--ip-muted);
}

.ip-dl dd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.ip-quote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var(--ip-primary);
	color: #fff;
	margin: 0;
}

.ip-quote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 20px;
	line-height: 1.45;
	font-weight: 500;
}

.ip-quote figcaption {
	margin-top: 12px;
	color: rgba(255, 255, 255, .8);
	font-size: 15px;
}

.ip-visit {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ip-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.ip-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 10px;
	font-weight: 500;
}

.ip-btn .ip-icon {
	width: 18px;
	height: 18px;
}

.ip-btn-ghost {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 18px;
	border: 1px solid var(--ip-line);
	border-radius: 10px;
	font-weight: 500;
	text-decoration: none;
}

.ip-help {
	display: grid;
	gap: 16px;
}

.ip-help-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 10px;
}

.ip-help-list .ip-icon {
	color: var(--ip-primary);
	margin-top: 1px;
}

.ip-help-list a[href^="tel:"] {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.ip [id] {
		scroll-margin-top: 150px;
	}
	.ip-head {
		padding: 32px;
	}
	.ip-title {
		font-size: 36px;
	}
	.ip-card,
	.ip-tile {
		padding: 24px;
	}
	.ip-h2 {
		font-size: 26px;
	}
	.ip-tiles {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
	.ip-split,
	.ip-columns {
		grid-template-columns: 1fr 1fr;
	}
	.ip-facts {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}
	.ip-facts li {
		flex-direction: column;
		gap: 6px;
		padding: 20px 24px;
	}
	.ip-facts strong {
		font-size: 30px;
	}
	.ip-dl > div {
		grid-template-columns: 200px 1fr;
		align-items: center;
		gap: 16px;
	}
	.ip-visit {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.ip-help {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	.ip-quote blockquote {
		font-size: 22px;
	}
}

@media (min-width: 1200px) {
	.ip-tiles {
		grid-template-columns: repeat(3, 1fr);
	}
	.ip-tiles-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ip-toc a,
	.ip-copy-btn {
		transition: none;
	}
}


/* checkout/success.tpl — «Замовлення прийняте». Палитра .ip; зелёный только у отметки успеха. */

.os {
	--os-ok: #1e7b3a;
	--os-ok-soft: #e7f5ec;
}

.os-hero {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: #fff;
	border-radius: var(--ip-radius);
	padding: 24px 20px;
	margin-bottom: 16px;
}

.os-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 50%;
	background: var(--os-ok-soft);
	color: var(--os-ok);
}

.os-mark .ip-icon {
	width: 30px;
	height: 30px;
	stroke-width: 2.25;
}

.os-number {
	font-size: 18px;
	margin-bottom: 8px !important;
}

.os-number strong {
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}

.os-nowrap {
	white-space: nowrap;
}

.os-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-items: start;
}

.os-main > .ip-card {
	margin-bottom: 16px;
}

.os-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.os-help .ip-help-list {
	margin: 12px 0 4px;
}

.os-summary {
	margin-bottom: 0;
}

.os-items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.os-item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--ip-line);
}

.os-item:first-child {
	padding-top: 0;
}

.os .os-item img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	margin: 0;
	border-radius: 8px;
	background: #fff;
}

.os-item-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: 15px;
	line-height: 1.4;
}

.os .os-item-text a {
	color: var(--ip-text);
	overflow-wrap: anywhere;
}

.os .os-item-text a:hover {
	color: var(--ip-primary);
}

.os-item-total {
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.os-totals,
.os-facts {
	margin: 12px 0 0;
}

.os-totals > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	color: var(--ip-muted);
}

.os-totals dt,
.os-totals dd {
	font-weight: 400;
	margin: 0;
}

.os-totals dd {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.os-totals .os-grand {
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--ip-line);
	color: var(--ip-text);
	font-size: 20px;
}

.os-totals .os-grand dt,
.os-totals .os-grand dd {
	font-weight: 700;
}

.os-facts {
	margin-top: 16px;
	padding: 4px 16px;
	background: #f6f8fa;
	border-radius: 10px;
}

.os-facts > div {
	padding: 12px 0;
	border-top: 1px solid var(--ip-line);
}

.os-facts > div:first-child {
	border-top: 0;
}

.os-facts dt {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ip-muted);
	margin-bottom: 4px;
}

.os-facts dt .ip-icon {
	width: 18px;
	height: 18px;
	color: var(--ip-primary);
}

.os-facts dd {
	margin: 0;
	padding-left: 26px;
	overflow-wrap: anywhere;
}

@media (min-width: 768px) {
	.os-hero {
		flex-direction: row;
		align-items: flex-start;
		gap: 20px;
		padding: 32px;
	}
	.os-mark {
		width: 64px;
		height: 64px;
	}
}

@media (min-width: 992px) {
	.os-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
		gap: 24px;
	}
	.os-summary {
		position: sticky;
		top: 150px;
	}
}


/* common/account_menu.tpl — меню кабинета: выпадающее (компьютер) и полноэкранное (телефон).
   Палитра .ip; размеры в px — тема считает rem от 10px и обнуляет font-size в выпадающем окне. */

.acc {
	--acc-primary: #006bdb;
	--acc-primary-soft: #eef5fe;
	--acc-text: #2c373e;
	--acc-muted: #5d6a73;
	--acc-line: #e3e8ec;
	--acc-danger: #b3261e;
	font-size: 15px;
	line-height: 1.4;
	color: var(--acc-text);
	text-align: left;
}

.acc .ip-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

.acc-head {
	padding: 20px 20px 16px;
	border-bottom: 1px solid var(--acc-line);
}

.acc-title {
	margin: 0 0 4px;
	font-size: 18px;
	font-weight: 700;
	padding-right: 36px;
}

.acc-lead {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--acc-muted);
}

.acc-auth {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.acc .acc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 1 1 auto;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
}

.acc .acc-btn .ip-icon {
	width: 18px;
	height: 18px;
}

.acc .acc-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid var(--acc-line);
	border-radius: 10px;
	font-size: 15px;
	font-weight: 500;
	color: var(--acc-primary);
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}

.acc .acc-btn-ghost:hover {
	border-color: var(--acc-primary);
	background: var(--acc-primary-soft);
}

.acc-head-user {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-right: 56px;
}

.acc-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 50%;
	background: var(--acc-primary);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .02em;
}

.acc-who {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.acc-name {
	font-weight: 700;
	font-size: 16px;
	overflow-wrap: anywhere;
}

.acc-email {
	font-size: 13px;
	color: var(--acc-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.acc-links {
	list-style: none;
	margin: 0;
	padding: 8px;
}

.acc .acc-links a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 8px;
	color: var(--acc-text);
	font-size: 15px;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

.acc .acc-links a .ip-icon {
	color: var(--acc-muted);
	transition: color .15s ease;
}

.acc .acc-links a:hover,
.acc .acc-links a:focus-visible {
	background: var(--acc-primary-soft);
	color: var(--acc-primary);
}

.acc .acc-links a:hover .ip-icon,
.acc .acc-links a:focus-visible .ip-icon {
	color: var(--acc-primary);
}

.acc-count {
	margin-left: auto;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 11px;
	background: var(--acc-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* Язык и валюта: подпись слева, переключатель-«таблетка» справа. */
.acc-prefs {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 20px;
	border-top: 1px solid var(--acc-line);
}

.acc-pref {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.acc-pref-label {
	font-size: 14px;
	color: var(--acc-muted);
}

.acc-pref .header-cell {
	display: block;
	width: auto !important;
	height: auto;
	padding: 0;
}

.acc-pref .header-cell:after,
.acc-pref .currency-selector-label {
	display: none;
}

.acc-pref form,
.acc-pref .btn-group,
.acc-pref ul {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	float: none;
}

.acc-pref .form-language,
.acc-pref .form-currency .btn-group {
	padding: 2px;
	border: 1px solid var(--acc-line);
	border-radius: 9px;
	background: #fff;
}

.acc-pref li {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
}

.acc .acc-pref .btn-link,
.acc .acc-pref button {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-height: 32px;
	margin: 0;
	padding: 4px 10px;
	border: 0;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--acc-muted);
	background: transparent;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: none;
}

.acc .acc-pref .btn-link:hover {
	color: var(--acc-primary);
}

.acc .acc-pref .is-active,
.acc .acc-pref .is-active:hover {
	background: var(--acc-primary-soft);
	color: var(--acc-primary);
	font-weight: 700;
}

.acc .acc-logout {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 12px 20px;
	border-top: 1px solid var(--acc-line);
	color: var(--acc-danger);
	font-size: 15px;
	text-decoration: none;
}

.acc .acc-logout:hover,
.acc .acc-logout:focus-visible {
	background: #fdf1f0;
	color: var(--acc-danger);
}

.acc a:focus-visible,
.acc button:focus-visible {
	outline: 2px solid var(--acc-primary);
	outline-offset: 2px;
}

/* Компьютер: выпадающее окно под иконкой. */
.header-account-dropdown {
	width: 340px;
	padding: 0;
	border-radius: 12px;
}

.header-account-dropdown .css-dropdown-close {
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	z-index: 1;
}

/* Телефон: полноэкранный список под кнопкой «Закрити». */
.header-list-mobile .acc {
	font-size: 16px;
	padding: 56px 8px 24px;
}

.header-list-mobile .acc-head {
	padding: 4px 12px 16px;
}

.header-list-mobile .acc .acc-links a {
	min-height: 48px;
	font-size: 16px;
}

.header-list-mobile .acc-prefs {
	padding: 16px 12px;
}

.header-list-mobile .acc .acc-logout {
	padding: 14px 12px;
}

@media (prefers-reduced-motion: reduce) {
	.acc .acc-links a,
	.acc .acc-links a .ip-icon,
	.acc .acc-btn-ghost {
		transition: none;
	}
}


/* common/footer.tpl — подвал. Тёмно-синий (оттенок фирменного #006bdb), полоса подписки — фирменный
   синий с жёлтой кнопкой, как акцент «Каталог товарів» в шапке. Размеры в px: тема считает rem от 10px. */

.footer.ft {
	--ft-bg: #0b2a4f;
	--ft-bg-deep: #081f3b;
	--ft-brand: #006bdb;
	--ft-accent: #ffc800;
	--ft-text: #ffffff;
	--ft-soft: rgba(255, 255, 255, .78);
	--ft-faint: rgba(255, 255, 255, .62);
	--ft-line: rgba(255, 255, 255, .14);
	background: var(--ft-bg);
	color: var(--ft-soft);
	font-size: 15px;
	line-height: 1.55;
	margin-top: 32px;
}

.ft .ip-icon {
	width: 18px;
	height: 18px;
	flex: none;
	color: var(--ft-accent);
	margin-top: 3px;
}

.ft a {
	color: var(--ft-text);
	text-decoration: none;
	transition: color .15s ease;
}

.ft a:hover {
	color: var(--ft-accent);
	text-decoration: none;
}

.ft a:focus-visible,
.ft .ft-news-btn:focus-visible,
.ft .ft-input:focus-visible {
	outline: 2px solid var(--ft-accent);
	outline-offset: 2px;
}

.ft-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Подписка */
.ft-news {
	background: var(--ft-brand);
	padding: 24px 0;
}

.ft-news-inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ft-news-text {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ft-news-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
}

.ft-news-icon .ip-icon {
	width: 22px;
	height: 22px;
	margin: 0;
	color: #fff;
}

.ft-news-title {
	margin: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.ft-news-lead {
	margin: 2px 0 0;
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
}

.ft-news-form {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.ft-news-form .footer-email-input {
	flex: 1 1 auto;
	min-width: 0;
}

.ft .ft-input {
	height: 48px;
	padding: 0 16px;
	border: 0;
	border-radius: 10px;
	font-size: 16px;
	color: #1f2a33;
	background: #fff;
	box-shadow: none;
}

.ft .ft-news-btn {
	height: 48px;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: var(--ft-accent);
	color: #1f2a33;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	transition: background-color .15s ease;
}

.ft .ft-news-btn:hover {
	background: #ffd84d;
}

.ft .footer-email-input .text-danger,
.ft .footer-email-input .text-success {
	margin-top: 6px;
	font-size: 14px;
	color: #fff;
}

.ft .footer-email-input .text-danger {
	font-weight: 500;
}

/* Основная часть */
.ft-main {
	padding: 36px 0 28px;
}

.ft-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 20px;
}

.ft-brand,
.ft-contacts {
	grid-column: 1 / -1;
}

.ft-store {
	margin: 0 0 8px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
}

.ft-about {
	margin: 0 0 16px;
	max-width: 46ch;
}

.ft-label {
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--ft-faint);
	text-transform: uppercase;
	letter-spacing: .06em;
}

.ft-title {
	margin: 0 0 12px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.ft-social {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ft .ft-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	transition: background-color .15s ease, color .15s ease;
}

.ft .ft-social a:hover {
	background: var(--ft-accent);
	color: var(--ft-bg);
}

.ft-phones,
.ft-lines,
.ft-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ft-phones li,
.ft-lines li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 10px;
	margin-bottom: 10px;
}

.ft-phones a {
	font-size: 18px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ft-phones .ft-note {
	flex-basis: 100%;
	padding-left: 28px;
	margin-top: -2px;
}

.ft-note {
	color: var(--ft-faint);
	font-size: 14px;
}

.ft-lines {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--ft-line);
}

.ft-lines li > span {
	flex: 1;
	min-width: 0;
}

.ft-lines a {
	overflow-wrap: anywhere;
}

.ft-lines a[target] {
	display: inline-block;
	margin-top: 4px;
	color: var(--ft-accent);
	font-weight: 500;
}

.ft-links li {
	margin: 0;
}

.ft .ft-links a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	color: var(--ft-soft);
}

.ft .ft-links a:hover {
	color: var(--ft-accent);
}

/* Нижняя строка */
.ft-bottom {
	background: var(--ft-bg-deep);
	/* Снизу место под закреплённые виджеты Binotel — иначе они накрывают логотипы оплаты. */
	padding: 16px 0 96px;
}

.ft-bottom-inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
	/* Справа на телефоне — кнопки виджетов Binotel (~60px). */
	padding-right: 72px;
}

.ft-copy {
	margin: 0;
	font-size: 14px;
	color: var(--ft-faint);
}

/* Логотипы оплаты — в одинаковых плашках; на телефоне подпись строкой выше, плашки одним рядом. */
.ft-pay {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.ft-pay-label {
	font-size: 13px;
	color: var(--ft-faint);
}

.ft-pay-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ft-pay-list li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 36px;
	flex: none;
	border-radius: 8px;
	background: #fff;
}

.ft .ft-pay-list img {
	display: block;
	width: auto;
	height: auto;
	max-width: 44px;
	max-height: 22px;
	margin: 0;
}

@media (min-width: 768px) {
	.ft-pay {
		flex-direction: row;
		align-items: center;
		gap: 12px;
	}
}

@media (min-width: 768px) {
	.ft-news-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.ft-news-form {
		flex: 0 1 460px;
	}
	.ft-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ft-brand,
	.ft-contacts {
		grid-column: auto;
	}
	.ft-bottom {
		padding-bottom: 16px;
	}
	.ft-bottom-inner {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 32px;
		/* Справа — виджеты Binotel (закреплены внизу справа). */
		padding-right: 340px;
	}
}

@media (min-width: 992px) {
	.ft-main {
		padding: 48px 0 36px;
	}
	.ft-grid {
		grid-template-columns: 1.25fr 1.25fr 1fr 1fr;
		gap: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ft a,
	.ft .ft-social a,
	.ft .ft-news-btn {
		transition: none;
	}
}


/* common/site_menu_desktop.tpl — каталог на компьютере: слева разделы, справа подразделы.
   Палитра .ip/.acc; размеры в px (тема считает rem от 10px). */

header .header-top .main-catalog.mc {
	--mc-primary: #006bdb;
	--mc-soft: #eef5fe;
	--mc-text: #2c373e;
	--mc-muted: #5d6a73;
	--mc-line: #e3e8ec;
	--mc-rail: #f4f6f8;
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	max-height: calc(100vh - 160px);
	padding: 0;
	overflow: hidden;
	border-radius: 0 0 14px 14px;
	box-shadow: 0 20px 44px rgba(16, 32, 48, .18);
	font-size: 14px;
	line-height: 1.4;
	color: var(--mc-text);
	transform: translateY(8px);
	cursor: auto;
}

header .header-top .cat-item-title:has(:focus-visible) {
	background: #3c3f50;
}

header .header-top .cat-item-title:has(:focus-visible) .main-catalog {
	opacity: 1;
	visibility: visible;
	transform: none;
}

/* Открытие — без задержки видимости: иначе Tab сразу с кнопки проскочил бы ещё скрытое окно. */
header .header-top .cat-item-title:hover .main-catalog.mc,
header .header-top .cat-item-title:has(:focus-visible) .main-catalog.mc {
	transition: opacity .15s, visibility 0s, transform .2s;
}

header .header-top .cat-item-title .cat-link:focus-visible {
	outline: 2px solid #ffd700;
	outline-offset: -4px;
}

.mc-rail {
	list-style: none;
	margin: 0;
	padding: 12px;
	min-height: 0;
	overflow-y: auto;
	background: var(--mc-rail);
	border-right: 1px solid var(--mc-line);
}

header .header-top .mc .mc-rail-link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 8px 10px 8px 8px;
	border-radius: 10px;
	color: var(--mc-text);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

header .header-top .mc .mc-rail-link:hover {
	background: rgba(255, 255, 255, .6);
}

header .header-top .mc .mc-rail-link.is-active {
	background: #fff;
	color: var(--mc-primary);
	box-shadow: 0 1px 3px rgba(16, 32, 48, .08), 0 0 0 1px var(--mc-line);
}

.mc-thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border-radius: 8px;
	background: #fff;
	color: var(--mc-primary);
	overflow: hidden;
}

.mc-thumb img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.mc-rail-name {
	flex: 1;
	min-width: 0;
}

.mc .ip-icon {
	width: 18px;
	height: 18px;
	flex: none;
}

.mc-rail-link > .ip-icon {
	color: #9aa5ad;
	transition: color .15s ease, transform .15s ease;
}

.mc-rail-link.is-active > .ip-icon {
	color: var(--mc-primary);
	transform: translateX(2px);
}

.mc-panes {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
}

.mc-stack {
	display: grid;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

.mc-pane {
	grid-area: 1 / 1;
	padding: 22px 28px 20px;
	visibility: hidden;
	opacity: 0;
	transition: opacity .12s ease, visibility 0s linear .12s;
}

.mc-pane.is-active {
	visibility: inherit;
	opacity: 1;
	transition: opacity .12s ease, visibility 0s;
}

.mc-pane-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 12px;
	padding: 0 10px 14px;
	border-bottom: 1px solid var(--mc-line);
}

header .header-top .mc .mc-pane-title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--mc-text);
	text-decoration: none;
	text-wrap: balance;
}

header .header-top .mc .mc-pane-title:hover {
	color: var(--mc-primary);
}

header .header-top .mc .mc-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: none;
	font-size: 14px;
	font-weight: 500;
	color: var(--mc-primary);
	white-space: nowrap;
	text-decoration: none;
}

.mc-all .ip-icon {
	width: 16px;
	height: 16px;
	transition: transform .15s ease;
}

.mc-all:hover .ip-icon {
	transform: translateX(3px);
}

.mc-links {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 3 210px;
	column-gap: 16px;
}

.mc-links li {
	break-inside: avoid;
}

header .header-top .mc .mc-links a {
	display: block;
	padding: 7px 10px;
	border-radius: 8px;
	color: var(--mc-text);
	font-size: 14.5px;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color .12s ease, color .12s ease;
}

header .header-top .mc .mc-links a:hover {
	background: var(--mc-soft);
	color: var(--mc-primary);
}

.mc-help {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: none;
	margin: 0;
	padding: 12px 38px;
	border-top: 1px solid var(--mc-line);
	background: #fafbfc;
	color: var(--mc-muted);
	font-size: 13.5px;
}

.mc-help .ip-icon {
	color: var(--mc-primary);
}

.mc-help strong {
	color: var(--mc-text);
	font-weight: 600;
}

header .header-top .mc .mc-help a {
	margin-left: auto;
	color: var(--mc-primary);
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
}

header .header-top .mc a:focus-visible {
	outline: 2px solid var(--mc-primary);
	outline-offset: 2px;
}

@media (max-width: 991px) {
	header .header-top .main-catalog.mc {
		grid-template-columns: 250px minmax(0, 1fr);
	}
	.mc-links {
		columns: 2 180px;
	}
	.mc-help span {
		display: none;
	}
}


/* common/site_menu_mobile.tpl — меню на телефоне: полноэкранный лист с экранами разделов. */

.header-hamburger {
	border: 0;
	padding: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.header-hamburger:focus-visible {
	outline: 2px solid #006bdb;
	outline-offset: 3px;
}

.mobile-nav.mn {
	--mn-primary: #006bdb;
	--mn-soft: #eef5fe;
	--mn-text: #2c373e;
	--mn-muted: #5d6a73;
	--mn-line: #e3e8ec;
	--mn-bg: #f4f6f8;
	overflow: hidden;
	background: var(--mn-bg);
	color: var(--mn-text);
	font-size: 16px;
	line-height: 1.4;
}

@media (min-width: 768px) {
	.mobile-nav.mn {
		display: none !important;
	}
}

html.mn-lock,
html.mn-lock body {
	overflow: hidden;
}

html.mn-lock #bingc-phone-button,
html.mn-lock #bingc-passive,
html.mn-lock #bwc-wrap {
	display: none !important;
}

.mn-screen {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	background: var(--mn-bg);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .32s;
}

.mn-screen.is-active {
	transform: none;
	visibility: visible;
	transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s;
}

.mn-screen.is-behind {
	transform: translateX(-24%);
}

.mn-bar {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: none;
	min-height: 60px;
	padding: 8px 10px 8px 20px;
	background: #fff;
	border-bottom: 1px solid var(--mn-line);
}

.mn-screen:not([data-mn-screen="root"]) .mn-bar {
	padding-left: 6px;
}

.mn-bar-title {
	flex: 1;
	min-width: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.mn-screen:not([data-mn-screen="root"]) .mn-bar-title {
	font-size: 16px;
}

.mn .mn-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--mn-text);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.mn .mn-icon-btn[data-mn-close] {
	background: var(--mn-bg);
}

.mn .mn-icon-btn:active {
	background: var(--mn-soft);
	color: var(--mn-primary);
}

.mn .ip-icon {
	width: 22px;
	height: 22px;
	flex: none;
}

.mn-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 4px 16px calc(28px + env(safe-area-inset-bottom));
}

.mn .mn-label {
	margin: 20px 4px 8px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mn-muted);
}

.mn-group {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--mn-line);
	border-radius: 14px;
	overflow: hidden;
}

.mn-body > .mn-group:first-child {
	margin-top: 16px;
}

.mn-group + .mn-group {
	margin-top: 12px;
}

.mn-group > li + li {
	border-top: 1px solid var(--mn-line);
}

.mn .mn-row {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 8px 12px 8px 14px;
	border: 0;
	background: transparent;
	color: var(--mn-text);
	font: inherit;
	font-size: 16px;
	line-height: 1.35;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .12s ease;
}

.mn .mn-row:active {
	background: var(--mn-soft);
}

.mn .mn-row:focus-visible {
	outline: 2px solid var(--mn-primary);
	outline-offset: -2px;
}

.mn-row .mn-text {
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
}

.mn-row > .ip-icon {
	width: 18px;
	height: 18px;
	color: #9aa5ad;
}

.mn-thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 10px;
	border: 1px solid var(--mn-line);
	background: #fff;
	color: var(--mn-primary);
	overflow: hidden;
}

.mn-thumb img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.mn-thumb + .mn-text {
	font-weight: 500;
}

.mn-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 10px;
	background: var(--mn-soft);
	color: var(--mn-primary);
}

.mn-ico .ip-icon {
	width: 20px;
	height: 20px;
}

.mn-row small {
	display: block;
	margin-top: 1px;
	font-size: 13px;
	font-weight: 400;
	color: var(--mn-muted);
}

.mn .mn-row-tel .mn-text {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.mn .mn-row-static {
	cursor: default;
	color: var(--mn-muted);
	font-size: 15px;
}

.mn .mn-row-static:active {
	background: transparent;
}

.mn .mn-row-all {
	color: var(--mn-primary);
	font-weight: 600;
}

.mn .mn-row-all > .ip-icon {
	color: var(--mn-primary);
}

@media (prefers-reduced-motion: reduce) {
	.mobile-nav.mn,
	.mn-screen,
	.mn-screen.is-active,
	.mn .mn-row,
	.mc-pane,
	.mc-pane.is-active,
	header .header-top .mc .mc-rail-link,
	.mc-rail-link > .ip-icon,
	.mc-all .ip-icon {
		transition: none;
	}
}


/* Картинка карточки товара не загрузилась (common/header.tpl ставит .img-broken). */
.product-thumb .image img.img-broken {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
	background: #f4f6f8;
	color: transparent;
	font-size: 0;
}


/* information/page_terms.tpl — «Правила та умови»: пронумерованные разделы-карточки. */
.ip-terms-seller {
	margin-bottom: 24px;
}

.ip-terms-seller .ip-note {
	margin: 12px 0 0;
}

.ip-terms-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ip-terms-list > li + li {
	margin-top: 16px;
}

.ip-terms-list .ip-section {
	margin: 0;
	scroll-margin-top: 150px;
}

.ip-terms-list .ip-h2 {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ip-terms-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 50%;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
	font-size: 15px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.ip-terms-list p {
	max-width: 72ch;
}

.ip-terms-list .ip-bullets li {
	max-width: 72ch;
}

.ip-terms .ip-help {
	margin-top: 24px;
}

/* Сетка карточек товаров — flex вместо float. На float карточка, оказавшаяся хоть на
   пару пикселей ниже соседних (другой перенос названия, шрифт, масштаб), цепляла
   следующую: в ряду оставалась одна карточка и дыры. Во flex каждый ряд начинается
   с левого края. Псевдоэлементы clearfix у .row во flex стали бы лишними элементами. */
.row:has(> .product-layout) {
	display: flex;
	flex-wrap: wrap;
}

.row:has(> .product-layout)::before,
.row:has(> .product-layout)::after {
	display: none;
}

.row:has(> .product-layout) > .product-layout {
	float: none;
}

/* Минимальная сумма заказа: сообщение в корзине и в «Быстром заказе» — на месте, не всплывашкой */
.cart-minimum,#boc_form .boc-error{background:#fff4e0;color:#6b4300;border:1px solid #f5cf8f;border-radius:8px;padding:12px 16px;font-size:15px;line-height:1.45}
.cart-minimum{margin:20px 0 0;text-align:right}
#boc_form .boc-error{margin:0 0 14px;font-size:14px}
@media (max-width:767px){.cart-minimum{text-align:left}}

/* ── Мобильная версия (08.10.2026) ─────────────────────────────────────────────
   Картинки в описаниях категорий и товаров приходят из редактора с шириной
   в пикселях (622, 500…): на телефоне страница становилась шире экрана, и шапка
   теряла поиск, кабинет и корзину. */
#content img {
	max-width: 100%;
}

#content img[width],
#content img[style*="width"] {
	height: auto;
}

/* Описание товара: в тексте из редактора зашит font-family «Roboto-Regular» — такого
   шрифта нет, и браузер показывал Times. Шрифт — как у всего сайта. */
#tab-description [style*="font-family"] {
	font-family: inherit !important;
}

/* Короткие характеристики под ценой — парами «название — значение», а не строкой
   серого текста через запятую. */
.detail-bottom .short-attr {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
	gap: 6px 12px;
	margin-top: 16px;
	color: #2c373e;
	font-size: 13px;
	line-height: 1.4;
}

.detail-bottom .short-attr > span:nth-of-type(odd) {
	color: #5d6a73;
}

.detail-bottom .short-attr br {
	display: none;
}

/* Значок корзины на кнопке «Купить» в карточке: свой контурный, в размер текста
   (18 px), с одной толщиной линии. Прежний — растровый по духу SVG 512 px с заливкой,
   на 20 px выглядел пятном. Белый на синей кнопке, тёмный при наведении (кнопка белеет). */
.product-thumb .button-group button:not(.button_one_click_thumb):not(.boc_order_category_btn) i {
	top: 9px;
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.1c.47 0 .88.33.98.79L8.1 15.1c.15.7.77 1.2 1.48 1.2h7.9c.69 0 1.29-.47 1.46-1.14l1.66-6.6a1 1 0 0 0-.97-1.24H6'/%3E%3Ccircle cx='10' cy='20' r='1.5'/%3E%3Ccircle cx='17.5' cy='20' r='1.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

.product-thumb .button-group button:not(.button_one_click_thumb):not(.boc_order_category_btn):hover i {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23373952' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.1c.47 0 .88.33.98.79L8.1 15.1c.15.7.77 1.2 1.48 1.2h7.9c.69 0 1.29-.47 1.46-1.14l1.66-6.6a1 1 0 0 0-.97-1.24H6'/%3E%3Ccircle cx='10' cy='20' r='1.5'/%3E%3Ccircle cx='17.5' cy='20' r='1.5'/%3E%3C/svg%3E");
}

@media (max-width: 767px) {
	:root {
		--m-primary: #006bdb;
		--m-primary-press: #0058b5;
		--m-primary-soft: #eef5fe;
		--m-text: #2c373e;
		--m-muted: #5d6a73;
		--m-line: #e3e8ec;
		--m-radius: 10px;
	}

	#content table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}

	/* Заголовки: 34 px жирного шрифта на 390 px экрана — две-три строки на короткое
	   «Кошик для покупок». */
	#content h1,
	h1.cat_heading {
		margin: 8px 0 16px;
		font-size: 26px;
		line-height: 1.2;
		text-wrap: balance;
		overflow-wrap: anywhere;
	}

	#content h2 {
		font-size: 21px;
		line-height: 1.25;
	}

	.product-info h1,
	#product-product h1,
	.product-title h1 {
		font-size: 21px;
		line-height: 1.3;
	}

	/* Хлебные крошки — одной строкой с прокруткой, а не двумя строками мелкого текста. */
	ul.breadcrumb {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		margin: 0 -10px 12px;
		padding: 2px 10px;
		overflow-x: auto;
		white-space: nowrap;
		font-size: 13px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	ul.breadcrumb::-webkit-scrollbar {
		display: none;
	}

	ul.breadcrumb > li {
		flex: none;
	}

	/* Сортировка и «по сколько» — привычной высоты поля, не 31 px. */
	#input-sort,
	#input-limit {
		height: 44px;
		font-size: 15px;
		border-radius: 8px;
	}

	/* ── Карточки товаров ── */
	.row:has(> .product-layout) > .product-layout {
		display: flex;
	}

	/* Карточка — колонкой: цена и кнопки прижаты к низу, в ряду они на одной линии.
	   Раньше блок цены держал min-height 125 px с кнопками в position: absolute —
	   у товара без кнопки посреди карточки оставалась пустота. */
	.product-thumb {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 12px;
		border-radius: var(--m-radius);
	}

	.product-thumb .price-button {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
		min-height: 0;
	}

	.product-thumb .price-button .button-group {
		position: static;
		margin-top: auto;
	}

	.product-thumb .product-name {
		display: -webkit-box;
		height: auto;
		min-height: calc(3 * 1.35em);
		margin-bottom: 6px;
		overflow: hidden;
		color: var(--m-text);
		font-size: 14px;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	/* Пустой рейтинг (пять серых звёзд и «0») занимал строку в каждой карточке. */
	.product-thumb .rating:not(:has(span:not(.star-empty))) {
		display: none;
	}

	.product-thumb .caption {
		min-height: 0;
		height: auto;
		margin-bottom: 0;
	}

	.product-thumb .price-button .price {
		margin: 6px 0 10px;
	}

	.product-thumb .main-price,
	.product-thumb .price .new-price {
		font-size: 19px;
		font-weight: 700;
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}

	.product-thumb .button-group {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.product-thumb .button-group .btn {
		width: 100%;
		min-height: 44px;
		margin: 0;
		padding: 0 12px;
		border-radius: 8px;
		font-size: 15px;
		font-weight: 600;
		touch-action: manipulation;
	}

	/* «Купить» — главное действие; «Быстрый заказ» — второе, контуром. Две одинаковые
	   синие кнопки спорили между собой. */
	/* Значок и надпись — одной группой по центру. Значок, прибитый к левому краю,
	   визуально сдвигал «Купити» вправо, хотя сам текст стоял ровно посередине. */
	.product-thumb .button-group button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.product-thumb .button-group button i {
		position: static;
		flex: none;
		transform: none;
	}

	.product-thumb .button-group .button_one_click_thumb,
	.product-thumb .button-group .boc_order_category_btn {
		min-height: 40px;
		/* «Швидке замовлення» длиннее «Быстрого заказа»: узкие поля и перенос
		   на вторую строку, чтобы надпись не вылезала за кнопку на 360 px. */
		padding: 4px 6px;
		border: 1px solid var(--m-primary);
		background: #fff;
		color: var(--m-primary);
		font-size: 13px;
		line-height: 1.2;
		text-align: center;
		white-space: normal;
	}

	.product-thumb .button-group button.button_one_click_thumb i,
	.product-thumb .button-group button.boc_order_category_btn i {
		display: none;
	}

	.product-thumb .button-group .button_one_click_thumb:active,
	.product-thumb .button-group .boc_order_category_btn:active {
		background: var(--m-primary-soft);
	}

	.product-thumb .button-group .btn-primary:not(.button_one_click_thumb):not(.boc_order_category_btn):active {
		background: var(--m-primary-press);
	}

	/* Нет в наличии: одна серая подпись. Было две — «Товар отсутствует» по-русски
	   на украинской странице и ярко-зелёное «Немає в наявності», зелёный читается как «есть». */
	.product-thumb .product-not-available .value {
		display: none;
	}

	.product-thumb .product-not-available .stock {
		align-self: flex-start;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 6px 10px;
		border-radius: 999px;
		background: #f1f3f5;
		color: var(--m-muted);
		font-size: 13px;
		font-weight: 600;
	}

	/* Закладки и сравнение поверх фото — светлее, чтобы не спорили с товаром. */
	.product-thumb .toolbar-icons .wishlist-item,
	.product-thumb .toolbar-icons .compare-item {
		background-color: rgba(255, 255, 255, .88);
		box-shadow: 0 0 0 1px var(--m-line);
	}

	/* ── Фильтр (OCFilter) ──
	   Был синий язычок у левого края, наезжал на заголовок категории. Теперь —
	   подписанная кнопка внизу экрана, в зоне большого пальца. */
	body .ocf-offcanvas .ocfilter-mobile-handle {
		position: fixed;
		top: auto;
		bottom: calc(16px + env(safe-area-inset-bottom));
		left: 16px;
		z-index: 1001;
		transition: left 250ms ease;
	}

	body .ocf-offcanvas.active .ocfilter-mobile-handle {
		left: 266px;
	}

	body .ocf-offcanvas .ocfilter-mobile-handle .btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 48px;
		padding: 0 20px;
		border-radius: 999px;
		box-shadow: 0 6px 18px rgba(0, 60, 130, .28);
		font-size: 15px;
		font-weight: 600;
	}

	.ocf-offcanvas .ocfilter-mobile-handle .btn::after {
		content: "Фільтри";
	}

	html[lang="ru"] .ocf-offcanvas .ocfilter-mobile-handle .btn::after {
		content: "Фильтры";
	}

	.ocf-offcanvas.active .ocfilter-mobile-handle .btn::after {
		content: none;
	}

	/* ── Страница товара ── */
	#product .product-price .price {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	#product .product-price .price {
		min-height: 0;
	}

	#product .product-price .price-caption {
		position: static;
		color: var(--m-muted);
		font-size: 14px;
		font-weight: 500;
	}

	#product .product-price .price-panel {
		float: none;
		padding-top: 0;
	}

	#product .product-price .price-panel:has(.price-old) {
		padding-top: 25px;
	}

	#product .product-price .main-price {
		font-size: 30px;
		font-weight: 700;
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}

	#product .plus-minus .btn,
	#product .plus-minus input {
		height: 44px;
		min-width: 44px;
		font-size: 17px;
	}

	#product .product-buy-btn > br {
		display: none;
	}

	#product #button-cart {
		margin-top: 16px;
		min-height: 52px;
		border-radius: var(--m-radius);
		font-size: 17px;
		font-weight: 600;
	}

	#product .boc_order_btn {
		margin-top: 10px;
		min-height: 48px;
		border: 1px solid var(--m-primary);
		border-radius: var(--m-radius);
		background: #fff;
		color: var(--m-primary);
		font-size: 16px;
		font-weight: 600;
	}

	#product .boc_order_btn:active {
		background: var(--m-primary-soft);
	}

	/* ── Корзина ── */
	/* Красная обводка итога выглядела как ошибка формы. */
	#content .card.card-outline {
		outline: none;
		border: 1px solid var(--m-line);
		border-radius: var(--m-radius);
		box-shadow: 0 2px 8px rgba(20, 40, 60, .06);
	}

	/* Название товара в корзине — 24 px жирным на три строки; хватит 17. */
	.checkout-info-header h3,
	.checkout-info-header h3 a {
		font-size: 17px;
		line-height: 1.3;
	}

	/* ── Вкладки (товар, вход в кабинет): горизонтальные «таблетки» вместо столбика
	   полноширинных полос с жёлтой линией. ── */
	#content .nav-tabs {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -10px 16px;
		padding: 4px 10px;
		overflow-x: auto;
		border: 0;
		background: transparent;
		scrollbar-width: none;
	}

	#content .nav-tabs::-webkit-scrollbar {
		display: none;
	}

	#content .nav-tabs > li {
		flex: none;
		float: none;
		margin: 0;
	}

	#content .nav-tabs > li > a {
		display: flex;
		align-items: center;
		min-height: 44px;
		margin: 0;
		padding: 0 18px;
		border: 1px solid var(--m-line);
		border-radius: 999px;
		background: #fff;
		color: var(--m-text);
		font-size: 15px;
		font-weight: 600;
		white-space: nowrap;
	}

	#content .nav-tabs > li.active > a,
	#content .nav-tabs > li.active > a:hover,
	#content .nav-tabs > li.active > a:focus {
		border-color: var(--m-primary);
		background: var(--m-primary-soft);
		color: var(--m-primary);
	}

	#tab-description {
		font-size: 15px;
		line-height: 1.6;
	}

	#tab-description p,
	#tab-description li {
		font-size: 15px !important;
		line-height: 1.6;
	}

	/* ── Вход в кабинет ── */
	.account-login .form-login .control-label {
		display: block;
		margin-bottom: 6px;
		color: var(--m-text);
		font-size: 14px;
		font-weight: 600;
	}

	.account-login .form-login .form-control {
		height: 48px;
		font-size: 16px;
	}

	.account-login .form-login .btn-primary {
		min-height: 48px;
		border-radius: var(--m-radius);
		font-size: 16px;
		font-weight: 600;
	}

	.account-login .form-login h2 {
		font-size: 21px;
		font-weight: 700;
	}

	/* ── Кнопка меню: контурный значок, как поиск и корзина рядом, а не тёмный круг. ── */
	.header-hamburger {
		top: 1.1rem;
		left: 0.6rem;
		width: 44px;
		height: 44px;
		border-radius: 10px;
		background-color: transparent;
	}

	.header-hamburger:after {
		width: 22px;
		height: 16px;
		background: linear-gradient(#2c373e, #2c373e) top / 100% 2px no-repeat,
			linear-gradient(#2c373e, #2c373e) center / 100% 2px no-repeat,
			linear-gradient(#2c373e, #2c373e) bottom / 100% 2px no-repeat;
		border-radius: 1px;
	}

	.header-hamburger:active {
		background-color: #eef1f4;
	}

	#content .buttons.clearfix {
		display: flex;
		flex-direction: column-reverse;
		gap: 10px;
	}

	#content .buttons.clearfix::before,
	#content .buttons.clearfix::after {
		display: none;
	}

	#content .buttons.clearfix > .pull-left,
	#content .buttons.clearfix > .pull-right {
		float: none;
		width: 100%;
	}

	#content .buttons.clearfix .btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		border-radius: var(--m-radius);
		font-size: 16px;
		font-weight: 600;
	}
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.ocf-offcanvas .ocfilter-mobile-handle {
		transition: none;
	}
}

/* ── Разделы каталога на главной (модуль «Категории», шаблон с is_home) ─────────
   Телефон: 2 колонки плиток — иконка и название, плитка целиком ведёт в раздел.
   Компьютер: 2–3 карточки в ряд — иконка рядом с названием, под ними подразделы и «Усі». */
.home-cats {
	--hc-primary: #006bdb;
	--hc-soft: #eef5fe;
	--hc-text: #2c373e;
	--hc-muted: #5d6a73;
	--hc-line: #e3e8ec;
	margin: 8px 0 32px;
}

.home-cats-title {
	margin: 0 0 16px;
}

/* Значок и название — всегда в одну строку. На узком телефоне — список в один
   столбец: в две колонки под название оставалось ~90 px, и оно ломалось на 4 строки. */
.home-cats-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-cat {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	background: #fff;
	transition: border-color .15s, box-shadow .15s;
}

.home-cat-main {
	display: flex;
	flex: 1 0 auto;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 10px 14px 10px 10px;
	border-radius: 12px;
	color: var(--hc-text);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

/* Стрелка «перейти» — только в списке на телефоне. */
.home-cat-main::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin: 0 4px 0 auto;
	border-top: 2px solid #9fb0bc;
	border-right: 2px solid #9fb0bc;
	transform: rotate(45deg);
}

.home-cat-main:hover,
.home-cat-main:focus {
	color: var(--hc-text);
	text-decoration: none;
}

.home-cat-main:active {
	background: var(--hc-soft);
}

.home-cat-main:focus-visible {
	outline: 2px solid var(--hc-primary);
	outline-offset: 2px;
}

.home-cat-icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--hc-soft);
}

.home-cat-icon img {
	display: block;
	width: 28px;
	height: 28px;
	object-fit: contain;
	/* У иконок разделов белый фон (PNG без прозрачности) — multiply растворяет его в подложке. */
	mix-blend-mode: multiply;
}

.home-cat-name {
	display: -webkit-box;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/* Телефон пошире — две колонки; нечётная последняя плитка — на всю ширину, без дыры справа. */
@media (min-width: 576px) {
	.home-cats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.home-cat:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.home-cat-main::after {
		display: none;
	}
}

/* На телефоне подразделы и «Усі» не нужны: плитка сама ведёт в раздел. */
.home-cat-subs,
.home-cat-all {
	display: none;
}

@media (min-width: 768px) {
	.home-cats {
		margin: 32px 0 40px;
	}

	.home-cat:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.home-cats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.home-cat:hover {
		border-color: #c9d6e3;
		box-shadow: 0 6px 20px rgba(20, 40, 60, .08);
	}

	.home-cat-main {
		flex: none;
		flex-direction: row;
		align-items: center;
		gap: 14px;
		min-height: 0;
		padding: 20px 20px 14px;
	}

	.home-cat-main:hover .home-cat-name {
		color: var(--hc-primary);
	}

	.home-cat-name {
		font-size: 16px;
		font-weight: 700;
	}

	.home-cat-subs {
		display: flex;
		flex-direction: column;
		gap: 6px;
		margin: 0;
		padding: 0 20px;
		list-style: none;
	}

	.home-cat-subs a {
		display: -webkit-box;
		overflow: hidden;
		color: var(--hc-muted);
		font-size: 14px;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.home-cat-subs a:hover {
		color: var(--hc-primary);
	}

	.home-cat-all {
		display: inline-block;
		margin: auto 20px 18px;
		padding-top: 12px;
		color: var(--hc-primary);
		font-size: 14px;
		font-weight: 600;
	}
}

/* Разделов 10: в три колонки последний остаётся один в ряду. На широком
   экране — пять колонок (два ровных ряда); значок слева от названия. */
@media (min-width: 1200px) {
	.home-cats-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.home-cat-main {
		gap: 12px;
		padding: 18px 16px 12px;
	}

	/* Две строки под название в каждой плитке — строки «значок + название» одной
	   высоты, подразделы начинаются ровно. */
	.home-cat-name {
		display: flex;
		align-items: center;
		min-height: 2.6em;
		font-size: 15px;
	}

	.home-cat-subs {
		padding: 0 16px;
	}

	.home-cat-all {
		margin: auto 16px 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-cat {
		transition: none;
	}
}

/* Иконки разделов в левой колонке категорий: модуль теперь отдаёт картинку 96 px
   (для сетки на главной) — здесь она должна оставаться прежних 30 px. */
.list-group .list-sub-item img {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

/* information/contact.tpl — «Контакти». Палитра .ip + фирменные синий и жёлтый подвала:
   синяя шапка с действиями, слева способы связи, справа форма. */

.ct {
	--ct-brand: #006bdb;
	--ct-brand-deep: #0052a8;
	--ct-accent: #ffc800;
	--ct-ink: #111516;
	--ct-ok: #1e7b3a;
	--ct-error: #b3261e;
	--ct-field: #cfd8df;
}

/* Шапка. Круги в углу — «круги на воде»: магазин про воду и тепло. */
.ct-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 16px;
	padding: 24px 20px 22px;
	border-radius: var(--ip-radius);
	background:
		radial-gradient(circle at 100% 0, transparent 0 70px, rgba(255, 255, 255, .07) 71px 72px, transparent 73px 120px, rgba(255, 255, 255, .06) 121px 122px, transparent 123px 175px, rgba(255, 255, 255, .05) 176px 177px, transparent 178px),
		linear-gradient(135deg, var(--ct-brand) 0%, var(--ct-brand-deep) 100%);
	color: #fff;
}

.ip .ct-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	margin: 0 0 14px;
	padding: 6px 12px 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.ct-status-dot {
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .7);
}

.ct-status.is-open .ct-status-dot {
	background: #4ade80;
	box-shadow: 0 0 0 3px rgba(74, 222, 128, .28);
}

.ct-status.is-live:not(.is-open) .ct-status-dot {
	background: var(--ct-accent);
}

.ct-title {
	margin: 0 0 8px;
	color: #fff;
	font-size: 30px;
	line-height: 1.15;
	font-weight: 700;
	text-wrap: balance;
}

.ip .ct-lead {
	max-width: 56ch;
	margin: 0 0 20px;
	color: rgba(255, 255, 255, .86);
	font-size: 16px;
	line-height: 1.55;
}

.ct-hero-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ip a.ct-cta,
.ip a.ct-cta-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 10px 20px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	touch-action: manipulation;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.ip a.ct-cta {
	background: var(--ct-accent);
	color: var(--ct-ink);
}

.ct-cta span {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0 8px;
}

.ct-cta strong {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ip a.ct-cta:hover {
	background: #ffd633;
	color: var(--ct-ink);
}

.ip a.ct-cta-ghost {
	border: 1px solid rgba(255, 255, 255, .45);
	color: #fff;
}

.ip a.ct-cta-ghost:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, .1);
	color: #fff;
}

.ip a.ct-cta:active,
.ip a.ct-cta-ghost:active {
	transform: scale(.98);
}

.ip a.ct-cta:focus-visible,
.ip a.ct-cta-ghost:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.ct-cta .ip-icon,
.ct-cta-ghost .ip-icon {
	width: 20px;
	height: 20px;
}

/* Сетка */

.ct-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin-bottom: 16px;
}

.ct-info {
	display: grid;
	gap: 16px;
	align-content: start;
}

.ct .ip-card {
	margin-bottom: 0;
}

/* Значок — в одной строке с заголовком: текст под ним идёт на всю ширину карточки. */
.ip .ct-block-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
}

.ct-title-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 8px;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
}

.ct-title-icon .ip-icon {
	width: 18px;
	height: 18px;
}

/* Телефоны */

.ct-phones {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ip a.ct-phone {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	padding: 8px 12px 8px 8px;
	border: 1px solid var(--ip-line);
	border-radius: 12px;
	color: var(--ip-text);
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
	touch-action: manipulation;
}

.ip a.ct-phone:hover {
	border-color: #b9d4f3;
	background: var(--ip-primary-soft);
	text-decoration: none;
}

.ct-phone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 10px;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
}

.ct-phone-icon .ip-icon {
	width: 22px;
	height: 22px;
}

.ip a.ct-phone:hover .ct-phone-icon {
	background: #fff;
}

.ct-phone-text {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.ct-phone-number {
	color: var(--ip-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ct-phone-label {
	color: var(--ip-muted);
	font-size: 14px;
	line-height: 1.3;
}

.ct-phone-go {
	display: inline-flex;
	color: #9fb0bc;
	transition: color .15s ease, transform .15s ease;
}

.ct-phone-go .ip-icon {
	width: 18px;
	height: 18px;
}

.ip a.ct-phone:hover .ct-phone-go {
	color: var(--ip-primary);
	transform: translateX(2px);
}

/* Адрес: карта по нажатию, график, маршрут */

.ct .ct-visit {
	padding: 0;
	overflow: hidden;
}

.ct-visit-body {
	padding: 20px;
}

.ct-map {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 168px;
	background:
		linear-gradient(rgba(0, 107, 219, .06) 1px, transparent 1px) 0 0 / 24px 24px,
		linear-gradient(90deg, rgba(0, 107, 219, .06) 1px, transparent 1px) 0 0 / 24px 24px,
		linear-gradient(160deg, #eef5fe 0%, #e3eefb 100%);
}

/* «Улицы» на подложке — пара широких полос, чтобы плашка читалась как карта. */
.ct-map::before,
.ct-map::after {
	content: "";
	position: absolute;
	background: rgba(255, 255, 255, .9);
}

.ct-map::before {
	left: -10%;
	right: -10%;
	top: 58%;
	height: 14px;
	transform: rotate(-8deg);
}

.ct-map::after {
	top: -10%;
	bottom: -10%;
	left: 34%;
	width: 12px;
	transform: rotate(14deg);
}

.ct-map.is-loaded {
	height: 240px;
	background: #e3eefb;
}

.ct-map.is-loaded::before,
.ct-map.is-loaded::after {
	display: none;
}

.ct-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ct-map-pin {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50% 50% 50% 0;
	background: var(--ct-brand);
	color: #fff;
	transform: rotate(-45deg);
	box-shadow: 0 6px 16px rgba(0, 82, 168, .3);
}

.ct-map-pin .ip-icon {
	width: 22px;
	height: 22px;
	transform: rotate(45deg);
}

.ct-map-btn {
	position: relative;
	z-index: 1;
	min-height: 40px;
	padding: 8px 16px;
	border: 1px solid var(--ip-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ip-primary);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(20, 40, 60, .08);
	transition: border-color .15s ease;
}

.ct-map-btn:hover {
	border-color: var(--ip-primary);
}

.ct-map-btn:focus-visible {
	outline: 2px solid var(--ip-primary);
	outline-offset: 2px;
}

.ct-address {
	margin: 0 0 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
}

.ct-week {
	margin: 0 0 16px;
	border: 1px solid var(--ip-line);
	border-radius: 10px;
	overflow: hidden;
}

.ct-week > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
}

.ct-week > div + div {
	border-top: 1px solid var(--ip-line);
}

.ct-week dt {
	font-weight: 500;
}

.ct-week dd {
	margin: 0;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ct-today-tag {
	display: none;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--ct-brand);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	vertical-align: 1px;
}

.ct-week .is-today {
	background: var(--ip-primary-soft);
}

.ct-week .is-today .ct-today-tag {
	display: inline-block;
}

.ct-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ip a.ct-route {
	gap: 8px;
	color: var(--ip-primary);
	transition: border-color .15s ease, background-color .15s ease;
}

.ip a.ct-route:hover {
	border-color: var(--ip-primary);
	background: var(--ip-primary-soft);
	text-decoration: none;
}

.ct-route .ip-icon {
	width: 18px;
	height: 18px;
}

/* Почта */

.ip .ct-mail .ct-block-title {
	margin-bottom: 6px;
}

.ip a.ct-email {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	font-size: 17px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.ip .ct-mail .ip-note {
	margin-top: 2px !important;
}

.ip a.ct-phone:focus-visible,
.ip a.ct-email:focus-visible,
.ip a.ct-route:focus-visible {
	outline: 2px solid var(--ip-primary);
	outline-offset: 2px;
}

.ct-location + .ct-location {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--ip-line);
}

/* Форма */

.ct-form-card {
	position: relative;
}

.ct-form-head {
	margin-bottom: 20px;
}

.ct-form-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border-radius: 10px;
	background: var(--ct-brand);
	color: #fff;
}

.ct-form-badge .ip-icon {
	width: 22px;
	height: 22px;
}

.ip .ct-form-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
}

.ip .ct-form-lead {
	margin: 0;
	color: var(--ip-muted);
	font-size: 15px;
	line-height: 1.45;
}

.ct-form {
	display: grid;
	gap: 18px;
}

.ct-field {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ct-field label {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ip-text);
}

.ct-req {
	color: var(--ct-error);
}

.ct-field input,
.ct-field textarea {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--ct-field);
	border-radius: 10px;
	background: #f8fafc;
	color: var(--ip-text);
	/* 16 px — иначе iOS увеличивает страницу при фокусе. */
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.ct-field textarea {
	min-height: 150px;
	resize: vertical;
}

.ct-field input::placeholder,
.ct-field textarea::placeholder {
	color: #7d8a93;
}

.ct-field input:hover,
.ct-field textarea:hover {
	border-color: #9fb0bc;
}

.ct-field input:focus,
.ct-field textarea:focus {
	border-color: var(--ip-primary);
	outline: none;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 107, 219, .18);
}

.ct-field.has-error input,
.ct-field.has-error textarea {
	border-color: var(--ct-error);
	background: #fff;
}

.ct-field.has-error input:focus,
.ct-field.has-error textarea:focus {
	box-shadow: 0 0 0 3px rgba(179, 38, 30, .16);
}

.ip .ct-error {
	margin: 0;
	color: var(--ct-error);
	font-size: 14px;
	line-height: 1.4;
}

/* Счётчик сообщения: до минимума — сколько ещё, дальше — «123 / 3000». */
.ip .ct-counter {
	margin: 0;
	color: var(--ip-muted);
	font-size: 13px;
	line-height: 1.4;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ip .ct-counter.is-short {
	color: #8a5a00;
}

.ct-pair {
	display: grid;
	gap: 18px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.ip .ct-hint {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--ip-muted);
	font-size: 14px;
	line-height: 1.4;
}

.ct-hint .ip-icon {
	width: 16px;
	height: 16px;
	color: var(--ip-primary);
}

.ip .ct-pair-hint {
	margin-top: -10px;
}

.ct-alert {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid #f1c3bf;
	border-radius: 10px;
	background: #fdf0ef;
	color: #8c1d18;
}

.ct-alert:focus {
	outline: 2px solid var(--ct-error);
	outline-offset: 2px;
}

.ct-alert .ip-icon {
	color: var(--ct-error);
	margin-top: 1px;
}

.ip .ct-alert p {
	margin: 0;
	font-weight: 600;
}

.ct-alert ul {
	margin: 6px 0 0;
	padding-left: 18px;
}

.ip .ct-alert a {
	color: #8c1d18;
	text-decoration: underline;
}

.ct-submit-row {
	display: grid;
	gap: 12px;
	padding-top: 4px;
}

.ct-submit.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	padding: 12px 28px;
	border: 0;
	border-radius: 12px;
	background: var(--ct-brand);
	font-size: 16px;
	font-weight: 600;
	touch-action: manipulation;
	transition: background-color .15s ease, transform .15s ease;
}

.ct-submit.btn:hover,
.ct-submit.btn:focus {
	background: var(--ct-brand-deep);
}

.ct-submit.btn:active {
	transform: scale(.98);
}

.ct-submit.btn:focus-visible {
	outline: 2px solid var(--ct-brand);
	outline-offset: 3px;
}

.ct-submit .ip-icon {
	width: 18px;
	height: 18px;
}

.ct-submit[disabled] {
	opacity: .7;
	cursor: progress;
}

.ip .ct-reply-note {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--ip-muted);
	font-size: 14px;
}

.ct-reply-note .ip-icon {
	width: 16px;
	height: 16px;
}

/* Ловушка для ботов — вне экрана, а не display:none: такие поля некоторые боты пропускают. */
.ct-trap {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Телефон: те же блоки, но плотнее — меньше полей, ниже карта и строки. */
@media (max-width: 767px) {
	.ct-hero {
		padding: 18px 16px 16px;
		margin-bottom: 12px;
	}

	.ip .ct-status {
		margin-bottom: 12px;
		font-size: 13px;
	}

	.ct-title {
		font-size: 28px;
		margin-bottom: 6px;
	}

	.ip .ct-lead {
		margin-bottom: 16px;
		font-size: 15px;
		line-height: 1.5;
	}

	.ct-hero-actions {
		gap: 8px;
	}

	.ip a.ct-cta,
	.ip a.ct-cta-ghost {
		min-height: 48px;
	}

	.ct-grid,
	.ct-info {
		gap: 12px;
	}

	.ct .ip-card,
	.ct-visit-body {
		padding: 16px;
	}

	.ct .ct-visit {
		padding: 0;
	}

	.ip .ct-block-title {
		margin-bottom: 12px;
		font-size: 17px;
	}

	.ct-phones {
		gap: 6px;
	}

	.ip a.ct-phone {
		min-height: 54px;
		padding: 6px 10px 6px 6px;
		gap: 10px;
	}

	.ct-phone-icon {
		width: 40px;
		height: 40px;
	}

	.ct-phone-icon .ip-icon {
		width: 20px;
		height: 20px;
	}

	.ct-phone-number {
		font-size: 17px;
	}

	.ct-phone-label {
		font-size: 13px;
	}

	.ct .ip-note {
		margin-top: 10px !important;
	}

	.ct-map {
		height: 112px;
		gap: 8px;
	}

	.ct-map-pin {
		width: 38px;
		height: 38px;
	}

	.ct-map-pin .ip-icon {
		width: 18px;
		height: 18px;
	}

	.ct-map-btn {
		min-height: 36px;
		padding: 6px 14px;
	}

	.ct-address {
		margin-bottom: 12px;
	}

	.ct-week {
		margin-bottom: 12px;
	}

	.ct-week > div {
		padding: 9px 12px;
	}

	.ct-form-head {
		margin-bottom: 16px;
	}

	.ip .ct-form-title {
		font-size: 20px;
		gap: 10px;
	}

	.ct-form-badge {
		width: 32px;
		height: 32px;
		border-radius: 8px;
	}

	.ct-form-badge .ip-icon {
		width: 18px;
		height: 18px;
	}

	.ct-form {
		gap: 16px;
	}

	.ct-pair {
		gap: 16px;
	}

	.ct-field textarea {
		min-height: 120px;
	}
}

@media (min-width: 576px) {
	.ct-hero-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (min-width: 768px) {
	.ct-hero {
		padding: 36px 36px 32px;
		background:
			radial-gradient(circle at 100% 0, transparent 0 110px, rgba(255, 255, 255, .07) 111px 112px, transparent 113px 190px, rgba(255, 255, 255, .06) 191px 192px, transparent 193px 270px, rgba(255, 255, 255, .05) 271px 272px, transparent 273px 350px, rgba(255, 255, 255, .04) 351px 352px, transparent 353px),
			linear-gradient(135deg, var(--ct-brand) 0%, var(--ct-brand-deep) 100%);
	}

	.ct-title {
		font-size: 40px;
	}

	.ip .ct-lead {
		font-size: 17px;
	}

	.ct-pair {
		grid-template-columns: 1fr 1fr;
		column-gap: 16px;
	}

	.ct-pair-hint {
		grid-column: 1 / -1;
	}

	.ct-submit-row {
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 16px;
	}

	.ct-submit.btn {
		width: auto;
	}
}

@media (min-width: 992px) {
	.ct-grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		align-items: start;
		gap: 20px;
	}

	/* Без position: sticky — шапка сайта при прокрутке ~200 px и накрывала верх формы. */
	.ct-form-card {
		padding: 32px;
	}

	.ct-map {
		height: 184px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ip a.ct-cta,
	.ip a.ct-cta-ghost,
	.ip a.ct-phone,
	.ct-phone-go,
	.ip a.ct-route,
	.ct-map-btn,
	.ct-submit.btn,
	.ct-field input,
	.ct-field textarea {
		transition: none;
	}

	.ip a.ct-cta:active,
	.ip a.ct-cta-ghost:active,
	.ct-submit.btn:active,
	.ip a.ct-phone:hover .ct-phone-go {
		transform: none;
	}
}


/* information/order_status.tpl — «Статус замовлення». Палитра .ip и блоки .os (как «Дякуємо»):
   шаги статуса, номер ТТН с копированием и кнопкой отслеживания, форма «номер + телефон». */

.ost {
	--ost-error: #b3261e;
	--ost-error-soft: #fdecea;
}

.ost-hero.is-cancelled .os-mark {
	background: var(--ost-error-soft);
	color: var(--ost-error);
}

.ost-hero .os-mark {
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
}

.ost-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	color: var(--ip-muted);
	margin-bottom: 0 !important;
}

.ost-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
	font-size: 14px;
	font-weight: 600;
}

.ost-hero.is-cancelled .ost-badge {
	background: var(--ost-error-soft);
	color: var(--ost-error);
}

/* Шаги: на телефоне — столбиком, с компьютера — в линию. */
.ost-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ost-steps li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 6px 0;
	color: var(--ip-muted);
}

.ost-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 38px;
	bottom: -6px;
	width: 2px;
	background: var(--ip-line);
}

.ost-steps li.is-done:not(:last-child)::after {
	background: var(--ip-primary);
}

.ost-dot {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 50%;
	border: 2px solid var(--ip-line);
	background: #fff;
}

.ost-dot .ip-icon {
	width: 18px;
	height: 18px;
	stroke-width: 2.5;
}

.ost-steps li.is-done,
.ost-steps li.is-current {
	color: var(--ip-text);
}

.ost-steps li.is-done .ost-dot {
	border-color: var(--ip-primary);
	background: var(--ip-primary-soft);
	color: var(--ip-primary);
}

.ost-steps li.is-current .ost-dot {
	border-color: var(--ip-primary);
	background: var(--ip-primary);
	color: #fff;
	box-shadow: 0 0 0 4px var(--ip-primary-soft);
}

.ost-steps li.is-current .ost-label {
	font-weight: 700;
}

.ost-ttn + .ost-ttn {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--ip-line);
}

.ost-ttn .ip-copy {
	margin-top: 0;
	padding: 10px 10px 10px 16px;
}

.ost-ttn-number {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: 14px;
}

.ost-ttn-number strong {
	font-size: 22px;
	letter-spacing: .02em;
	color: var(--ip-text);
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.ost-ttn-facts {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
}

.ost-ttn-facts li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 2px 0;
}

.ost-ttn-facts .ip-icon {
	width: 18px;
	height: 18px;
	color: var(--ip-primary);
}

.ost-track-btn {
	width: 100%;
	justify-content: center;
	margin-top: 16px;
}

.ost-empty {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
}

.ost-empty .ip-icon {
	width: 20px;
	height: 20px;
	margin-top: 3px;
	color: var(--ip-primary);
}

.ost-history {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.ost-history li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 12px;
	padding: 10px 0;
	border-top: 1px solid var(--ip-line);
}

.ost-history li:first-child {
	border-top: 0;
	font-weight: 600;
}

.ost-history time {
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.ost-bookmark {
	margin: 0 0 16px !important;
}

/* Форма поиска */
.ost-lookup {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-items: start;
	max-width: 960px;
}

.ost-lookup > .ip-card {
	margin-bottom: 0;
}

.ost-form-card {
	padding: 24px 20px;
}

.ost-alert {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	background: var(--ost-error-soft);
	color: var(--ost-error);
	font-size: 15px;
}

.ost-alert .ip-icon {
	width: 20px;
	height: 20px;
	margin-top: 2px;
}

.ost-form {
	display: grid;
	gap: 16px;
	margin-top: 20px;
	max-width: 420px;
}

.ost-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 500;
}

.ost .ost-field .form-control {
	height: 48px;
	padding: 10px 14px;
	font-size: 16px;
	border: 1px solid #cfd7de;
	border-radius: 8px;
	box-shadow: none;
	color: var(--ip-text);
}

.ost .ost-field .form-control:focus {
	border-color: var(--ip-primary);
	box-shadow: 0 0 0 3px rgba(0, 107, 219, .18);
	outline: none;
}

.ost .ost-field.has-error .form-control {
	border-color: var(--ost-error);
}

.ost-help,
.ost-error {
	margin: 6px 0 0 !important;
	font-size: 14px;
	line-height: 1.45;
}

.ost-error {
	color: var(--ost-error);
}

.ost-submit {
	justify-content: center;
}

@media (min-width: 768px) {
	.ost-steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.ost-steps li {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 8px;
		padding: 0 4px;
	}
	.ost-steps li:not(:last-child)::after {
		left: calc(50% + 20px);
		right: calc(-50% + 20px);
		top: 15px;
		bottom: auto;
		width: auto;
		height: 2px;
	}
	.ost-track-btn {
		width: auto;
	}
	.ost-form-card {
		padding: 32px;
	}
}

@media (min-width: 992px) {
	.ost-lookup {
		grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
		gap: 24px;
	}
}

/* account/order_info.tpl — ТТН и ссылка «Статус замовлення» над деталями заказа. */
.ost-account {
	padding: 16px 20px;
	margin-bottom: 16px;
	font-size: 15px;
	line-height: 1.5;
}

.ost-account p {
	margin: 0 0 6px;
}

.ost-account p:last-child {
	margin-bottom: 0;
}

.ost-account-number {
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}

.ost-account-muted {
	color: #5d6a73;
}

/* Последние 4 цифры ТТН — их называют в отделении. */
.ost-ttn-last {
	color: var(--ip-primary);
}

/* Аудит 18.10.2026: заголовок главной. */
#content h1.home-h1{font-size:18px;line-height:1.3;font-weight:500;margin:0 0 12px;color:#333}
@media (max-width:767px){#content h1.home-h1{font-size:16px;margin:0 0 8px}}

/* ── Відгуки покупців з Prom.ua (extension/module/prom_reviews) ─────────────────
   Головна: ліворуч загальна оцінка всіх відгуків, праворуч шість останніх з текстом —
   на телефоні стрічкою, що гортається вбік. Картка товару: відгуки з Prom над своїми.
   Ті самі плитки, що в «Розділах каталогу»: біле, лінія #e3e8ec, радіус 12 px.
   Зірки — один рядок ★, зафарбований градієнтом на --pr-fill (дробова оцінка). */
.home-reviews,
.pr-prom,
.rv {
	--pr-primary: #006bdb;
	--pr-soft: #eef5fe;
	--pr-text: #2c373e;
	--pr-muted: #5d6a73;
	--pr-line: #e3e8ec;
	--pr-star: #f5a623;
	--pr-star-off: #d6dde3;
}

.pr-icon {
	display: block;
	flex: none;
	width: 1em;
	height: 1em;
}

/* Зірки: сірий ряд, поверх — жовтий, обрізаний до частки оцінки (pr_stars у prom_reviews_kit.php). */
.pr-stars {
	position: relative;
	display: inline-flex;
	flex: none;
	font-size: 16px;
	line-height: 0;
	vertical-align: middle;
}

.pr-stars-row {
	display: inline-flex;
	gap: 2px;
	color: var(--pr-star-off);
}

.pr-stars-on {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: var(--pr-star);
	white-space: nowrap;
}

.pr-stars-lg {
	font-size: 22px;
}

.pr-stars-lg .pr-stars-row {
	gap: 3px;
}

/* Мітки Prom («Швидко відправили») з іконкою; скарги — теплим кольором. */
.pr-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	background: var(--pr-soft);
	font-size: 13px;
	line-height: 18px;
	color: #24507f;
}

.pr-tag .pr-icon {
	font-size: 15px;
	color: var(--pr-primary);
}

.pr-tag-bad {
	background: #fff4e5;
	color: #8a4b00;
}

.pr-tag-bad .pr-icon {
	color: #c26a00;
}

/* Кружок з першою літерою імені. */
.pr-avatar {
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.pr-avatar-0 { background: #e6effc; color: #1f5fae; }
.pr-avatar-1 { background: #e2f4f1; color: #1d6f63; }
.pr-avatar-2 { background: #fdf0d9; color: #8a5a00; }
.pr-avatar-3 { background: #eee8fb; color: #5b3fa3; }
.pr-avatar-4 { background: #e5f4e6; color: #2f6f35; }
.pr-avatar-5 { background: #fbe8ec; color: #9b2f45; }

.home-reviews {
	margin: 8px 0 32px;
	color: var(--pr-text);
}

.home-reviews-title {
	margin: 0 0 16px;
}

.hr-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.hr-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 8px 20px;
	padding: 18px;
	border: 1px solid var(--pr-line);
	border-radius: 12px;
	background: #fff;
}

/* Телефон і планшет: оцінка ліворуч, розподіл праворуч, решта — на всю ширину. */
.hr-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.hr-summary .hr-dist {
	grid-column: 2;
	grid-row: 1;
	max-width: 420px;
}

.hr-share,
.hr-all {
	grid-column: 1 / -1;
}

.hr-summary p {
	margin: 0;
}

.hr-score {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.hr-score-num {
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -1px;
	font-variant-numeric: tabular-nums;
}

.hr-score-of {
	font-size: 16px;
	color: var(--pr-muted);
}

.hr-count {
	font-size: 14px;
	line-height: 1.4;
}

.hr-share {
	font-size: 14px;
	line-height: 1.45;
	color: var(--pr-muted);
}

.hr-dist {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1;
	color: var(--pr-muted);
	font-variant-numeric: tabular-nums;
}

.hr-dist th {
	width: 30px;
	padding: 4px 8px 4px 0;
	font-weight: 500;
	white-space: nowrap;
	color: var(--pr-text);
}

.hr-dist th span[aria-hidden] {
	color: var(--pr-star);
}

/* Доріжка — фон клітинки, заповнення — смуга всередині. */
.hr-dist-bar {
	width: 100%;
	padding: 4px 0;
	background: linear-gradient(var(--pr-line), var(--pr-line)) no-repeat center / 100% 6px;
}

.hr-dist-bar span {
	display: block;
	height: 6px;
	border-radius: 3px;
	background: var(--pr-star);
}

.hr-dist-n {
	padding: 4px 0 4px 10px;
	text-align: right;
	white-space: nowrap;
}

.hr-all {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 6px;
	margin-top: 2px;
	padding: 6px 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--pr-primary);
}

@media (max-width: 374px) {
	.hr-summary {
		grid-template-columns: minmax(0, 1fr);
	}

	.hr-summary .hr-dist {
		grid-column: 1;
		grid-row: auto;
	}
}

.hr-all:hover,
.hr-all:focus {
	color: var(--pr-primary);
	text-decoration: underline;
}

.home-reviews a:focus-visible,
.pr-prom a:focus-visible {
	outline: 2px solid var(--pr-primary);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Телефон: стрічка карток, наступна визирає з-за краю — видно, що є ще. */
.hr-list {
	display: flex;
	gap: 12px;
	margin: 0 -15px;
	padding: 0 15px 4px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 15px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.hr-list::-webkit-scrollbar {
	display: none;
}

.hr-card {
	display: flex;
	flex: 0 0 82%;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid var(--pr-line);
	border-radius: 12px;
	background: #fff;
	scroll-snap-align: start;
}

.hr-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.hr-card-top time,
.pr-prom-meta time {
	font-size: 13px;
	color: var(--pr-muted);
	font-variant-numeric: tabular-nums;
}

.hr-text {
	flex: 1 0 auto;
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.hr-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.hr-author,
.pr-prom-author {
	font-size: 14px;
	font-weight: 600;
}

.hr-source {
	flex: none;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f1f4f6;
	font-size: 12px;
	line-height: 18px;
	color: var(--pr-muted);
}

.hr-product {
	margin: 0;
	padding-top: 10px;
	border-top: 1px solid var(--pr-line);
	font-size: 13px;
	line-height: 1.45;
	color: var(--pr-muted);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.hr-product a {
	color: var(--pr-text);
}

.hr-product a:hover,
.hr-product a:focus {
	color: var(--pr-primary);
}

@media (min-width: 768px) {
	.hr-layout {
		gap: 16px;
	}

	.hr-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	.hr-card {
		flex: none;
	}
}

@media (min-width: 992px) {
	.hr-layout {
		grid-template-columns: 250px minmax(0, 1fr);
		align-items: stretch;
	}

	.hr-summary {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 24px;
	}

	.hr-score-num {
		font-size: 44px;
	}

	.hr-count {
		font-size: 15px;
	}

	.hr-dist {
		margin-top: 6px;
	}

	.hr-all {
		align-self: flex-start;
		margin-top: auto;
	}

	.hr-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Картка товару, вкладка «Відгуки». */
.pr-prom {
	margin: 0 0 8px;
	color: var(--pr-text);
}

.pr-prom p {
	margin: 0;
}

.pr-prom-title {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.pr-prom-sum {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	font-size: 15px;
}

.pr-prom-lead {
	margin-top: 6px !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--pr-muted);
}

.pr-prom-list {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.pr-prom-item {
	padding: 14px 0;
	border-top: 1px solid var(--pr-line);
}

.pr-prom-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
}

.pr-prom-text {
	margin-top: 6px !important;
	font-size: 15px;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.pr-prom-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}


.pr-prom-foot {
	padding: 12px 0 0;
	border-top: 1px solid var(--pr-line);
	font-size: 14px;
	color: var(--pr-muted);
}

.pr-prom-foot a {
	color: var(--pr-primary);
}

.pr-own-title {
	margin: 24px 0 12px;
	padding-top: 20px;
	border-top: 1px solid var(--pr-line);
}

/* Відповідь магазину під відгуком на сайті (product/review.tpl). */
.review-reply {
	margin-top: 10px;
	padding: 10px 14px;
	border-left: 3px solid #006bdb;
	border-radius: 0 8px 8px 0;
	background: #eef5fe;
	color: #2c373e;
}

.review-reply p {
	margin: 0;
}

.review-reply .review-reply-head {
	margin-bottom: 4px;
	font-size: 13px;
}

.review-reply .review-reply-head span {
	color: #5d6a73;
}

/* ── «Відгуки покупців» (/vidguky, information/reviews.tpl) ────────────────────
   Комп'ютер: ліва колонка (оцінка, «Купували в нас?») тримається при прокрутці, праворуч
   фільтр-«чипси» і відгуки в білій картці. Телефон: оцінка → відгуки → «Купували в нас?».
   Посилання в .ip за замовчуванням сині (.ip a:not(.btn)) — тут кольори задано явно. */
.rv {
	padding-bottom: 40px;
}

.rv-title {
	margin: 4px 0 16px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--pr-text);
}

.rv-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

/* Телефон: обгортка зникає, її картки стають в один ряд з відгуками — порядок задає order. */
.rv-side {
	display: contents;
}

.rv-summary { order: 1; }
.rv-main { order: 2; }
.rv-cta { order: 3; }

.rv-summary,
.rv-cta,
.rv-main {
	min-width: 0;
	border: 1px solid var(--pr-line);
	border-radius: 12px;
	background: #fff;
}

.rv-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 4px 20px;
	align-items: center;
	padding: 16px;
}

.rv-score {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rv-score-num {
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -1.5px;
	color: var(--pr-text);
	font-variant-numeric: tabular-nums;
}

.rv-score-meta {
	display: grid;
	gap: 6px;
}

.rv .rv-score-count,
.rv .rv-sources {
	margin: 0;
	max-width: none;
	font-size: 14px;
	line-height: 1.3;
	color: var(--pr-text);
}

.rv .rv-sources {
	grid-column: 1;
	font-size: 13px;
	color: var(--pr-muted);
}

/* Свіжа картина: «Останні 12 місяців — 98,8 %», смужка і «499 з 505 оцінок». Без заливки:
   окремо від оцінки тонкою лінією, зелені — лише число і смужка. */
.rv-year {
	grid-column: 1 / -1;
	display: grid;
	gap: 8px;
	margin-top: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--pr-line);
}

.rv-year-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.rv-year-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 500;
	line-height: 18px;
	color: var(--pr-muted);
}

.rv-year-label .pr-icon {
	font-size: 16px;
	color: #8a97a3;
}

.rv-year-value {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.3px;
	color: #1b7a43;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.rv-year-bar {
	height: 6px;
	border-radius: 3px;
	background: #e4f2e9;
	overflow: hidden;
}

.rv-year-bar span {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: linear-gradient(90deg, #38a96a, #1b7a43);
}

.rv .rv-year-note {
	margin: 0;
	max-width: none;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--pr-muted);
	font-variant-numeric: tabular-nums;
}

.rv-dist {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ip a.rv-dist-row {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) 42px;
	align-items: center;
	gap: 8px;
	padding: 3px 6px;
	margin: 0 -6px;
	border-radius: 6px;
	font-size: 13px;
	line-height: 18px;
	color: var(--pr-muted);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.ip a.rv-dist-row:hover,
.ip a.rv-dist-row:focus-visible {
	background: #f4f7fa;
	color: var(--pr-text);
}

.ip a.rv-dist-row.is-active {
	background: var(--pr-soft);
	color: var(--pr-text);
	font-weight: 600;
}

.rv-dist-label {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--pr-text);
}

.rv-dist-label .pr-icon {
	font-size: 12px;
	color: var(--pr-star);
}

.rv-dist-bar {
	height: 6px;
	border-radius: 3px;
	background: #e9eef2;
	overflow: hidden;
}

.rv-dist-bar span {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: var(--pr-star);
}

.rv-dist-n {
	text-align: right;
}

/* «Купували в нас?» */
.rv-cta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 10px 12px;
	padding: 18px;
}

.rv-cta-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--pr-soft);
	color: var(--pr-primary);
	font-size: 20px;
}

.rv .rv-cta-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.rv .rv-cta-lead {
	grid-column: 1 / -1;
	margin: 0;
	max-width: none;
	font-size: 14px;
	line-height: 1.45;
	color: var(--pr-muted);
}

.ip a.rv-cta-btn {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin-top: 4px;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--pr-primary);
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	transition: background-color .15s;
}

.ip a.rv-cta-btn .pr-icon {
	font-size: 18px;
	color: #ffd34d;
}

.ip a.rv-cta-btn:hover,
.ip a.rv-cta-btn:focus {
	background: #005bbd;
	color: #fff;
}

.ip a.rv-cta-link {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	justify-self: center;
	gap: 6px;
	margin-top: -4px;
	padding: 6px 4px;
	font-size: 14px;
	color: var(--pr-primary);
}

.rv-cta-link .pr-icon {
	font-size: 14px;
}

/* Список */
.rv-main {
	padding: 0 16px 8px;
}

.rv-filters {
	display: flex;
	gap: 8px;
	margin: 0 -16px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--pr-line);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
	mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
}

.rv-filters::-webkit-scrollbar {
	display: none;
}

.ip a.rv-chip {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	padding: 6px 14px;
	border: 1px solid var(--pr-line);
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	line-height: 1.2;
	color: var(--pr-text);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s, background-color .15s;
}

.ip a.rv-chip .rv-chip-n {
	font-size: 13px;
	color: var(--pr-muted);
	font-variant-numeric: tabular-nums;
}

.ip a.rv-chip .rv-chip-star,
.ip a.rv-chip .rv-chip-icon {
	display: inline-flex;
	font-size: 14px;
	color: var(--pr-star);
}

.ip a.rv-chip .rv-chip-icon {
	font-size: 16px;
	color: var(--pr-muted);
}

.ip a.rv-chip:hover,
.ip a.rv-chip:focus {
	border-color: #b9c6d2;
	color: var(--pr-text);
	text-decoration: none;
}

.ip a.rv-chip:focus-visible,
.ip a.rv-dist-row:focus-visible,
.ip a.rv-page:focus-visible,
.ip a.rv-cta-btn:focus-visible {
	outline: 2px solid var(--pr-primary);
	outline-offset: 2px;
}

.ip a.rv-chip.is-active,
.ip a.rv-chip.is-active:hover,
.ip a.rv-chip.is-active:focus {
	border-color: var(--pr-text);
	background: var(--pr-text);
	color: #fff;
}

.ip a.rv-chip.is-active .rv-chip-n,
.ip a.rv-chip.is-active .rv-chip-icon {
	color: rgba(255, 255, 255, .75);
}

.rv-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rv-item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: 1px solid var(--pr-line);
}

.rv-item:last-child {
	border-bottom: 0;
}

/* Усередині відгуку — рівні проміжки між рядками, без полів абзаців .ip p. */
.rv-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.rv .rv-body p {
	margin: 0;
	max-width: none;
}

.rv-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	min-height: 20px;
}

.rv-name {
	font-size: 15px;
	font-weight: 600;
	line-height: 20px;
	color: var(--pr-text);
}

.rv-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12.5px;
	line-height: 18px;
	color: var(--pr-muted);
}

.rv-badge .pr-icon {
	font-size: 15px;
}

.rv-badge-deal,
.rv-badge-deal .pr-icon {
	color: #1f7a45;
}

.rv-badge-site .pr-icon {
	color: var(--pr-primary);
}

.rv-sub {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: -2px;
}

.rv-sub time {
	font-size: 13px;
	color: var(--pr-muted);
	font-variant-numeric: tabular-nums;
}

.rv .rv-text {
	font-size: 15px;
	line-height: 1.55;
	color: var(--pr-text);
	overflow-wrap: anywhere;
}

.rv-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Телефон: мітки без підкладки, кілька в рядку — інакше п'ять «таблеток» стоять стовпчиком. */
@media (max-width: 767px) {
	.rv-tags,
	.pr-prom-tags {
		gap: 4px 14px;
	}

	.rv-tags .pr-tag,
	.pr-prom-tags .pr-tag {
		padding: 0;
		background: none;
		font-size: 13px;
	}

	.rv-tags .pr-tag-bad,
	.pr-prom-tags .pr-tag-bad {
		color: #8a4b00;
	}
}

.rv-reply {
	padding: 10px 14px;
	border-left: 3px solid var(--pr-primary);
	border-radius: 0 8px 8px 0;
	background: var(--pr-soft);
}

.rv .rv-reply-head {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	font-size: 13px;
	color: var(--pr-text);
}

.rv-reply-head .pr-icon {
	font-size: 15px;
	color: var(--pr-primary);
}

.rv .rv-reply-text {
	font-size: 14px;
	line-height: 1.5;
}

.rv .rv-product {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 13px;
	line-height: 18px;
	color: var(--pr-muted);
}

.rv-product .pr-icon {
	margin-top: 1px;
	font-size: 16px;
	color: #8a97a3;
}

.ip .rv-product a {
	color: var(--pr-muted);
	text-decoration: underline;
	text-decoration-color: #c9d2da;
	text-underline-offset: 3px;
}

.ip .rv-product a:hover,
.ip .rv-product a:focus {
	color: var(--pr-primary);
	text-decoration-color: currentColor;
}

/* Сторінки: «‹ Попередня  1 … 4 5 6 … 70  Наступна ›», на телефоні слова ховаються. */
.rv-pages {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 -16px;
	padding: 14px 16px 6px;
	border-top: 1px solid var(--pr-line);
}

.rv-page-list {
	display: flex;
	align-items: center;
	gap: 4px;
}

.ip a.rv-page,
.rv-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	border-radius: 10px;
	font-size: 14px;
	color: var(--pr-text);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.ip a.rv-page:hover {
	background: #f1f4f6;
	color: var(--pr-text);
}

.rv-page.is-current {
	background: var(--pr-text);
	color: #fff;
	font-weight: 600;
}

.rv-page-step {
	border: 1px solid var(--pr-line);
}

.rv-page-step .pr-icon {
	font-size: 18px;
}

.rv-page-step.is-off {
	visibility: hidden;
}

.rv-page-word {
	display: none;
}

.rv-page-gap {
	min-width: 16px;
	text-align: center;
	color: var(--pr-muted);
}

.rv-empty {
	padding: 28px 0;
	color: var(--pr-muted);
}

@media (max-width: 374px) {
	.rv-summary {
		grid-template-columns: minmax(0, 1fr);
	}

	.rv-dist {
		grid-column: 1;
		grid-row: auto;
	}

	.rv-item {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 10px;
	}

	.rv-item .pr-avatar {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}
}

@media (min-width: 768px) {
	.rv-title {
		font-size: 30px;
		margin: 6px 0 20px;
	}

	.rv-summary {
		padding: 20px 24px;
		gap: 6px 40px;
	}

	.rv-dist {
		max-width: 420px;
	}

	.rv-main {
		padding: 0 24px 12px;
	}

	.rv-filters {
		flex-wrap: wrap;
		margin: 0 -24px;
		padding: 16px 24px;
		overflow: visible;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.rv-pages {
		margin: 0 -24px;
		padding: 16px 24px 4px;
	}

	.rv-page-word {
		display: inline;
	}

	.rv-page-step {
		padding: 0 12px;
	}

	.rv-cta {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 2px 16px;
		padding: 18px 24px;
	}

	.rv-cta-icon {
		grid-row: 1 / span 2;
	}

	.rv .rv-cta-title {
		align-self: end;
	}

	.rv .rv-cta-lead {
		grid-column: 2;
		align-self: start;
	}

	.ip a.rv-cta-btn {
		grid-column: 3;
		grid-row: 1 / span 2;
		margin-top: 0;
		padding: 10px 22px;
	}

	.ip a.rv-cta-link {
		grid-column: 2 / -1;
		justify-self: start;
		margin-top: 6px;
		padding-left: 0;
	}
}

@media (min-width: 992px) {
	.rv-layout {
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 24px;
		align-items: start;
	}

	.rv-side {
		position: sticky;
		top: 128px;
		display: grid;
		gap: 16px;
	}

	.rv-summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 22px;
	}

	.rv-sources {
		grid-column: 1;
	}

	.rv-dist {
		grid-column: 1;
		grid-row: auto;
		max-width: none;
		margin-top: 6px;
	}

	.rv-cta {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 10px 12px;
		padding: 20px 22px;
	}

	.rv-cta-icon {
		grid-row: auto;
	}

	.rv .rv-cta-title {
		align-self: center;
	}

	.rv .rv-cta-lead {
		grid-column: 1 / -1;
	}

	.ip a.rv-cta-btn {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-top: 4px;
	}

	.ip a.rv-cta-link {
		grid-column: 1 / -1;
		justify-self: center;
		margin-top: -4px;
	}
}
