:root {
	/* Вендорські змінні палітри посилаються на токени REFRESH (:root нижче) —
	   так вендорські правила не тягнуть стару бузкову/сіру палітру. */
	--1-text-color: var(--ink);
	--2-text-color: #fff;
	--22-text-color: #fff;
	--3-text-color: var(--ink-faint);
	--4-text-color: #371111;
	--5-text-color: var(--ink-soft);
	--11-text-color: #eeeeee;
	--12-text-color: var(--line);
	--13-text-color: var(--ink-muted);
	--14-text-color: var(--error);
}


html,body {
	height:100%;
}

body {
	margin: 0;
    font-family: "Open sans",arial,verdana;
    font-size: 14px;
	overflow-x: hidden;
}

button {
	cursor:pointer;
	cursor:hand;
}

div, section, input, textarea, select, button, a {
	box-sizing:border-box;
	transition: all 0.3s linear;
}

a { 
	color:var(--1-text-color);
	text-decoration:none;
}

a:hover {
	color:var(--3-text-color);
	text-decoration:underline;
}

h1 {
	font-size:32px;
	padding:10px 0;
	margin:0;
}

.star {
	color:var(--14-text-color);
}

.text--fail {
	color:var(--14-text-color);
	font-size:12px;
}

.no--info--find {
	color:var(--14-text-color);
	font-size:12px;
}

input, button, select, textarea {
	outline:none;
}

button {
	padding: 5px 20px;
    font-family: "Open sans",arial,verdana;
    font-size: 14px;
    background: var(--5-text-color);
    color: var(--2-text-color);
    border: 0;
    border-radius: 5px;
}

button:hover {
	background:var(--3-text-color);
}

input[type="text"] {
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

input[type="text"]:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

input[type="number"] {
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

input[type="number"]:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

input[type="datetime-local"] {
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

input[type="datetime-local"]:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

input[type="password"] {
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

input[type="password"]:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

textarea{
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

textarea:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

select {
	padding:10px 18px;
	font-family: "Open sans",arial,verdana;
    font-size: 14px;
	border:1px solid var(--5-text-color);
	width: 100%;
	border-radius:10px;
}

select:focus {
	border:1px solid var(--3-text-color);
	box-shadow: 0 0 2px var(--5-text-color);
}

input.fail--input {
	border:1px solid var(--14-text-color);
}

textarea.fail--input {
	border:1px solid var(--14-text-color);
}

.js__body--background {
	display: none;
    background: var(--1-text-color);
    width: 100%;
	height: 120%;
    position: fixed;
    top: -20px;
    z-index: 400;
    opacity: 0;
}


.js__body--popup {
    position: fixed;
    background: var(--22-text-color);
	border:2px solid var(--3-text-color);
    padding: 20px;
    display: none;
    z-index: 500;
    width: 500px;
	left:50%;
	top:50%;
	transform: translateY(-50%) translateX(-50%);
    max-width: 90%;
	opacity: 0;
	max-height: 90%;
	overflow-y:auto;
	overflow-x:hidden;
}

.js__big--images--popup {
    width: 1620px;
}

.pointerhand {
	cursor:pointer;
	cursor:hand;
}

.body section.home {
	max-width:100% !important;
}

/*Шапка*/

.header {
	
}

.header--overhead {
	
}

.header--overhead__inner {
	max-width: 1620px;
    margin: 0 auto;
    width: 100%;
	display:flex;
	justify-content: space-between;
	align-items:center;
}

@media all and (max-width: 700px) {
   
	.header--overhead__inner {
		flex-wrap: wrap;
    }
	
}

.header--overhead--inner__left {
	padding:0 5px;
}

.header--overhead--inner__right {
	padding:0 5px;
}

.header--centerhead {
	
}

.header--centerhead__inner {
	max-width: 1620px;
    margin: 0 auto;
    width: 100%;
	display:flex;
	justify-content: space-between;
	align-items:center;
	padding:5px 5px;
}

@media all and (max-width: 1100px) {
   
	.header--centerhead__inner {
		flex-wrap: wrap;
    }
	
}

.header--centerhead--inner__logo {
	padding:5px;
	order:1;
}

.header--centerhead--inner__logo img{
	max-height:80px;
}

@media all and (max-width: 1100px) {
	
	.header--centerhead--inner__logo img{
		max-height:60px;
	}

}

@media all and (max-width: 500px) {
	
	.header--centerhead--inner__logo img{
		max-height:46px;
	}

}

.header--centerhead--inner__column1 {
	order:3;
	padding: 0 5px;
}

@media all and (max-width: 1100px) {
	
	.header--centerhead--inner__column1 {
		order:1;
	}
	
}

.fnc--header--contacts {
	display:flex;
	    align-items: center;
}

@media all and (max-width: 570px) {
	
	.fnc--header--contacts {
		flex-direction:column;
		 align-items: flex-start;
	}
	
}

.fnc--header--contacts__left {
	padding:0 15px;
	font-weight:bolder;
}

.fnc--header--contacts__left div {
	padding:3px 0;
}

.fnc--header--contacts__right {
	padding:0 15px;
	font-size:90%;
}

.fnc--header--contacts__right div {
	padding:3px 0;
}

@media all and (max-width: 600px) {
	
	.fnc--header--contacts__left {
		padding:0 5px;
	}

	.fnc--header--contacts__right {
		padding:0 5px;
	}

}

.header--centerhead--inner__column2 {
	display:flex;
	align-items:center;
	flex-grow:1;
	order:2;
	padding:0 15px;
	    max-width: 560px;
}

@media all and (max-width: 1100px) {
	
	.header--centerhead--inner__column2 {
		order:4;
		padding: 0 5px;
	}
	
}

@media all and (max-width: 600px) {
	
	.header--centerhead--inner__column2 {
		flex-basis:100%;
	}
	
}


.header--centerhead--inner--column2__in1 {
	padding:5px;
	flex-grow: 1;
}

.header--centerhead--inner--column2__in2 {
	padding:5px;
	display:none;
}

.header--centerhead--inner__column3 {
	display:flex;
	order:4;
	border-left:1px solid var(--12-text-color);
	padding:0 0 0 30px;
}

@media all and (max-width: 1100px) {
	
	.header--centerhead--inner__column3 {
		order:3;
	}
	
}

@media all and (max-width: 900px) {
	
	.header--centerhead--inner__column3 {
		padding:0 0 0 0px;
		border-left:0;
	}
	
}

@media all and (max-width: 800px) {
	
	.header--centerhead--inner__column3 {
		flex-direction:column;
		
	}
	
}



.header--centerhead--inner--column3__in1 {
	    padding: 5px 20px;
    display: flex;
    align-items: center;
	margin:0 auto;
}

@media all and (max-width: 600px) {
	
	.header--centerhead--inner--column3__in1 {
		padding: 5px 5px;
	}
	
}


.header--centerhead--inner--column3__in2 {
	padding:5px;
}

.header--underhead {
	border-bottom:1px solid var(--5-text-color);
}

.header--underhead__inner {
	max-width: 1620px;
    margin: 0 auto;
    width: 100%;
	display:flex;
	justify-content: space-between;
}

@media all and (max-width: 700px) {
   
	.header--underhead__inner {
		flex-wrap: wrap;
    }
	
}

.header--underhead--inner__left {
	width:100%;
	padding:4px 0;
}

.header--underhead--inner__right {
	
}

/*Слайдер*/

.under--header--slider {
	
	
}

.under--header--slider__left {
	
}

.under--header--slider__center {
	
}

.under--header--slider__right {
	
}

/*Блок контента*/

.content--center--main {
	width:100%;
	margin:0 auto;
	max-width:1620px;
}

.content--center--inner {
	display:flex;
}

.content--center--inner__left {
	flex-basis: 25%;
    max-width: 300px;
	padding-right:15px;
}

@media all and (max-width: 800px) {
	
	.content--center--inner__left {
		display:none;
	}
	
}

.content--center--inner--left__column {
	
}

.content--center--inner__center {
	flex-grow: 1;
    flex-basis: 80%;
}

.content--center--inner--center__column {
	
}

.content--center--inner__right {
	flex-basis:260px;
	max-width:260px;
}

@media all and (max-width: 800px) {
	
	.content--center--inner__right {
		display:none;
	}
	
}

.content--center--inner--right__column {
	
}

.content--center--page {
	
}

.content--center--page--cart {
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	padding:20px;
}

@media all and (max-width: 1100px) {
	
	.content--center--page--cart {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		padding:10px;
	}
	
}

.content--center--page__text {
	
}

.content--center--page__main {
	
}

/*Разделители*/

.content--center__separator {
	
}

.content--left__deliver {
	
}

.content--center__deliver {
	
	
}

.content--right__deliver {
	
	
}

.content--footer__deliver {
	
	
}

/*Подвал*/

.content--footer {
	background:var(--5-text-color);
	width:100%;
}

.content--footer__inner {
	border-top:1px solid var(--3-text-color);
}

.fnc--footer--flex {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	color:var(--2-text-color);
}

.fnc--footer--flex a {
	color:var(--2-text-color);
}

.fnc--footer--flex__column1 {
	flex-basis:20%;
	padding:10px;
	flex-grow:1;
}

.fnc--footer--flex__column2 {
	flex-basis:20%;
	padding:10px;
	flex-grow:1;
}

.fnc--footer--flex__column3 {
	flex-grow:1;
	flex-basis:20%;
	padding:10px;
}

.fnc--footer--flex__column4 {
	flex-grow:1;
	flex-basis:20%;
	padding:10px;
}

.fnc--footer--flex__column5 {
	flex-grow:1;
	flex-basis:20%;
	padding:10px;
	text-align:right;
}

@media all and (max-width: 800px) {
   
	.fnc--footer--flex {
		flex-wrap:wrap;
	}
	
	.fnc--footer--flex__column1 {
		flex-basis:auto;
		padding:10px;
	}

	.fnc--footer--flex__column2 {
		flex-basis:auto;
		padding:10px;
	}
	
}

/*Хлебные крошки*/

.breads {
	
}

.breads__container {
	padding:10px 5px;
	display:flex;
	
}

.breads__inner {
	display:flex;
	align-items:center;
}

.breads--inner__item__separator {
	padding:0 10px 0 0;
	font-size:80%;
}

.breads--inner__item {
	padding:0 10px 0 0;
}

.breads--inner__item__active {
	color:var(--3-text-color);
}

/*Модули*/

/*Поиск*/

.fnc--search {
	position:relative;
	z-index: 1;
}

.fnc--search__container {
	display:flex;
	justify-content: space-between;
	align-items: center;
	position:relative;
}

.fnc--search__inner {
	
}

.fnc--search__field {
	width:100%;
}

.fnc--search__button {
	position: absolute;
    right: 0px;
}

.fnc--search__button button {
	background-image: url(/themes/main/magnifying-glass.png);
    background-repeat: no-repeat;
   background-color:var(--3-text-color);
    font-size: 0;
	background-position:50%;
    padding: 0;
    border: 0;
    width: 41px;
    height: 41px;
    background-size: 24px;
	padding:0;
	border-radius:0 5px 5px 0;
}

.search--list--item {
	padding:5px;
}

.search--list--item__name {

}

.search--list--item__info {

}

.fnc--search--dropdown {
	display:none;
	position:absolute;
	width:100%;
}

.fnc--search--dropdown__inner {
	background:var(--22-text-color);
	border:1px solid var(--5-text-color);
}

.fnc--search--dropdown__row {
	display:flex;
	align-items:center;
	border-bottom:1px solid var(--11-text-color);
	cursor:pointer;
	cursor:hand;
}

.fnc--search--dropdown__row:hover {
	background:var(--11-text-color);
}

.fnc--search--dropdown__name {
	padding:4px;
	flex-grow:1;
}

.fnc--search--dropdown__price {
	padding:4px;
	color:var(--14-text-color);
	flex-basis:110px;
	text-align:center;
}


.fnc--search--dropdown__image {
	padding:4px;
	width:60px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-basis:60px;
}

.fnc--search--dropdown__image img{
	max-width:60px;
	max-height:60px;
}

/*Авторизация кнопки*/

.fnc--login--buttons__container {
	display:flex;
	justify-content: space-between;
	padding:5px 0;
}

.fnc--login--buttons__inner {
	padding:0 5px;
}

.fnc--login--buttons__inner:nth-child(1) button {
	background-color:transparent;
	padding:5px 10px;
	border:0;
	border-radius:0;
	background-image:url('/themes/main/user.svg');
	background-repeat:no-repeat;
	background-position:0 50%;
	background-size:16px;
	padding-left:25px;
	color:var(--1-text-color);
}
.fnc--login--buttons__inner:nth-child(2) button {
	background-color:transparent;
	padding:5px 10px;
	border:0;
	border-radius:0;
	color:var(--1-text-color);
}

/*Разделы меню*/

.menu--chapters {
	display:flex;
}

.menu--chapters__item {
	padding: 5px 10px;
    position: relative;
}

.menu--chapters__item a {
	font-size:12px !important;
}

.menu--chapters__submenu {
	display:none;
	position:absolute;
	top: 29px;
	left:0px;
	background:var(--5-text-color);
	padding:4px 6px;
	z-index:3;
}

.menu--chapters__submenu a{
	color:var(--2-text-color);
	font-size:12px !important;
}

.menu--chapters--submenu__item {
	min-width:200px;
	padding:2px 0;
}

.menu--chapters__item:hover .menu--chapters__submenu {
	display:block;
}

.menu--chapters__item:hover, .menu--chapters--item__active {
	background:var(--5-text-color);
}

.menu--chapters__item a{
	
}

.menu--chapters__item:hover a, .menu--chapters--item__active a{
	color:var(--2-text-color);
	text-decoration:none;
}

/*Разделы колонка*/

.fnc--column--chapters {
	margin-bottom:15px;
}

.fnc--column--chapters__title {
	padding:10px;
	font-weight:bolder;
}

.fnc--column--chapters__container {
	padding:10px;
}

.fnc--column--chapter0 {
	padding:5px;
}

.fnc--column--chapter__active0 {
	padding:5px;
}

.fnc--column--chapter1 {
	padding:5px;
	padding-left:20px;
}

.fnc--column--chapter__active1 {
	padding:5px;
	padding-left:20px;
}

.fnc--column--chapter2 {
	padding:5px;
	padding-left:40px;
}

.fnc--column--chapter__active2 {
	padding:5px;
	padding-left:40px;
}

.fnc--column--chapter3 {
	padding:5px;
	padding-left:60px;
}

.fnc--column--chapter__active3 {
	padding:5px;
	padding-left:60px;
}

/*Разделы центр*/

.fnc--center--chapters {
	padding:50px 0;
}

.fnc--center--chapters__container {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-around;
}

.fnc--center--chapters__list--item  {
	flex-basis:calc(33% - 40px);
	margin:15px;
	padding:10px;
	display:flex;
	flex-direction:column;
	text-align:center;
}

@media all and (max-width: 700px) {
   
	.fnc--center--chapters__container {
		flex-wrap: wrap;
    }
	
}

@media all and (max-width: 600px) {
   
	.fnc--center--chapters__list--item  {
		flex-basis:calc(50% - 40px);
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--center--chapters__list--item  {
		flex-basis:calc(100% - 40px);
	}
	
}

.fnc--center--chapters__list--item:hover  {
	box-shadow:0 0 1px 0 var(--3-text-color);
}

.fnc--center--chapters--item__main  {
	
}

.fnc--center--chapters--item__name  {
	padding:10px 0;
}

.fnc--center--chapters--item__name a {
	font-size:18px;
}

.fnc--center--chapters--item__image {
	padding:10px 0;
}

.fnc--center--chapters--item__image img{
	max-width:100%;
}

.fnc--center--chapters--item__additional  {
	
}

.fnc--center--chapters--item__info  {
	
}

.fnc--center--chapters--item__button {
	padding:10px 0;
}

.fnc--center--chapters--item__button a{
	border-bottom:1px var(--5-text-color) solid;
	font-size:14px;
	color:var(--5-text-color);
}

.fnc--center--chapters--item__button a:hover{
	border-bottom:1px var(--3-text-color) solid;
	font-size:14px;
	color:var(--3-text-color);
	text-decoration:none;
}

/*Меню мобильное*/

.menu--chapters--mobile {
	display:none;
}

@media all and (max-width: 700px) {
    
	.menu--chapters {
        display: none;
    }
    
	.menu--chapters--mobile {
        position: relative;
        display: block;
        width: 32px;
        height: 32px;
        margin-left: 0px;
        margin-top: 4px;
        margin-bottom: 4px;
    }
	
}

.js__mobile--menu--container {
	display: none;
    position: fixed;
    height: 100%;
    width: 0px;
    top: 0px;
    left: 0;
    z-index: 4292929;
    max-height: 100%;
    overflow-y: auto;
    background: var(--2-text-color);
    border-right: 1px solid var(--4-text-color);
	opacity:0;
}

.js__show--mobile--menu {
	font-size:0;
	cursor:pointer;
	cursor:hand;
	width:32px;
	height:32px;
	background:url('/themes/main/menu.png');
}

.fnc--mobile--chapters__logo {
	padding:5px;
}

.fnc--mobile--chapters__item {
	padding:5px;
}

/*Каталог меню*/

.menu--catalog {
	display:flex;
}

.menu--catalog__item {
	padding:10px 25px;
	position:relative;
}

.menu--catalog__submenu {
	display:none;
	position:absolute;
	top: 36px;
	left:0px;
	background:var(--5-text-color);
	padding:10px 15px;
	z-index:1;
}

.menu--catalog__submenu a{
	color:var(--2-text-color);
	font-size:13px !important;
}

.menu--catalog--submenu__item {
	min-width:200px;
	padding:5px 0;
}

.menu--catalog__item:hover .menu--catalog__submenu {
	display:block;
}

.menu--catalog__item:hover, .menu--catalog--item__active {
	background:var(--5-text-color);
}

.menu--catalog__item a{
	font-size:14px;
}

.menu--catalog__item:hover a, .menu--catalog--item__active a{
	color:var(--2-text-color);
	font-size:14px;
	text-decoration:none;
}

/*Каталог колонка*/

.fnc--column--catalog {
	margin-bottom:15px;
	border-bottom:1px solid var(--5-text-color);
}

.fnc--column--catalog__title {
	padding:20px 10px 10px 10px;
	font-weight:bolder;
	font-size:18px;
}

.fnc--column--catalog__container {
	padding:10px 10px 15px 10px;
}

.fnc--column--category0 {
	padding:5px;
}

.fnc--column--category0 a{
	padding:5px;
	font-size:16px;
}

.fnc--column--category__active0 {
	padding:5px;
}

.fnc--column--category__active0 a{
	color:var(--ink);
	text-decoration:none;
	font-weight:700;
	font-size:16px;
}

.fnc--column--category1 {
	padding:5px;
	padding-left:20px;
}

.fnc--column--category__active1 {
	padding:5px;
	padding-left:20px;
}

.fnc--column--category__active1 a{
	color:var(--ink);
	text-decoration:none;
	font-weight:700;
}

.fnc--column--category2 {
	padding:5px;
	padding-left:40px;
}

.fnc--column--category__active2 {
	padding:5px;
	padding-left:40px;
}

.fnc--column--category__active2 a{
	color:var(--ink);
	text-decoration:none;
	font-weight:700;
}


.fnc--column--category3 {
	padding:5px;
	padding-left:60px;
}

.fnc--column--category__active3 {
	padding:5px;
	padding-left:60px;
}

.fnc--column--category__active3 a{
	color:var(--ink);
	text-decoration:none;
	font-weight:700;
}


/*Каталог центр*/

.fnc--center--catalog{
	padding:20px 0 50px 0;
	margin:60px 0 30px 0;
	background:var(--12-text-color);
}

.fnc--center--catalog__title{
	font-size: 26px;
    padding: 30px 0;
    color: var(--1-text-color);
    text-align: center;
    font-weight: bolder;
}

.fnc--center--catalog__container {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-around;
}

.fnc--center--catalog__list--item  {
	flex-basis:calc(25% - 40px);
	margin:20px;
	display:flex;
	flex-direction:column;
	text-align:center;
	background:var(--22-text-color);
	border-radius:10px;
}

@media all and (max-width: 700px) {
   
	.fnc--center--catalog__container {
		flex-wrap: wrap;
    }
	
}

@media all and (max-width: 600px) {
   
	.fnc--center--catalog__list--item  {
		flex-basis:calc(50% - 40px);
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--center--catalog__list--item  {
		flex-basis:calc(100% - 40px);
	}
	
}

.fnc--center--catalog__list--item:hover  {
	box-shadow: 0 0 20px -10px var(--13-text-color);
}

.fnc--center--catalog--item__main  {
	display:flex;
	flex-direction:column-reverse;
}

.fnc--center--catalog--item__name  {
	padding:20px 0;
}

.fnc--center--catalog--item__name a {
	font-size:16px;
	font-weight:bolder;
}

.fnc--center--catalog--item__name a:hover {
	color:var(--5-text-color);
	text-decoration:none;
}

.fnc--center--catalog--item__image {
	padding:0px 0;
	
}

.fnc--center--catalog--item__image img{
	width:100%;
	max-height: 100%;
	display:flex;
	border-radius: 10px 10px 0 0;
}

.fnc--center--catalog--item__additional  {
	display:none;
}

.fnc--center--catalog--item__info  {
	
}

.fnc--center--catalog--item__button {
	padding:10px 0;
}

.fnc--center--catalog--item__button a{
	border-bottom:1px var(--5-text-color) solid;
	font-size:14px;
	color:var(--5-text-color);
}

.fnc--center--catalog--item__button a:hover{
	border-bottom:1px var(--3-text-color) solid;
	font-size:14px;
	color:var(--3-text-color);
	text-decoration:none;
}

.fnc--center--catalog--item__submenu {
	padding:10px 0;
}

.fnc--center--catalog--item__submenu--list {
	max-width:100%;
	padding:3px 0;
}

.fnc--center--catalog--item__submenu--list a {
	
}

/*Каталог мега меню/*


/*-- МЕГАМЕНЮ--*/

.fnc--megamenu {
    width: 100%;
    background: var(--5-text-color);
}

.fnc--megamenu--container {
    max-width: 1620px;
    cursor: pointer;
    cursor: hand;
    margin: 0 auto;
	align-items:center;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
}

.fnc--megamenu--category {
    display: flex;
    align-items: center;
    cursor: pointer;
    cursor: hand;
	flex-grow: 1;
    text-align: center;
    justify-content: center;
	flex-direction: column;
}

.fnc--megamenu--category:hover {
    display: flex;
    align-items: center;
    background: var(--2-text-color);
}

.fnc--megamenu--category:hover .fnc--megamenu--category__link {
    color: var(--5-text-color);
	text-decoration:none;
}

.fnc--megamenu--category__active {
    display: flex;
    align-items: center;
    cursor: pointer;
    cursor: hand;
    flex-grow: 1;
    text-align: center;
    justify-content: center;
    background: var(--2-text-color);
	flex-direction: column;
}

.fnc--megamenu--category__link {
	color:var(--2-text-color);
	display:block;
	padding: 15px 10px;
}

.fnc--megamenu--category__link__active  {
	color: var(--5-text-color);
	display:block;
	padding: 15px 10px;
}

.fnc--megamenu--submenu__load {
	opacity:0;
	display:block;
}

.fnc--megamenu--submenu {
	opacity:1;
	display:none;
}

.fnc--megamenu--category__active:hover .fnc--megamenu--submenu {
    display: block;
}

.fnc--megamenu--category:hover .fnc--megamenu--submenu {
    display: block;
}

.fnc--megamenu--submenu  {
	position: relative;
    left: 0%;
    top: 0px;
    z-index: 200;
    display: none;
}

.fnc--megamenu--submenu:hover {
    display: block;
}

.fnc--megamenu--submenu__inner {
    position: absolute;
}

@media all and (max-width: 770px) {
    .fnc--megamenu--submenu__inner {
        display: none;
    }
}

.fnc--megamenu--submenu__inner--info {
    position: relative;
    width: 100%;
    z-index: 200;
    background: var(--2-text-color);
	border:1px solid var(--5-text-color);
	border-top:0;
}

.fnc--megamenu--submenu__row {
	display: flex;
    flex-direction: row;
}

.fnc--megamenu--submenu__column {
	display: flex;
    flex-direction: column;
}

.fnc--megamenu--submenu__column {
    min-width: 250px;
    text-align: left;
}

.fnc--megamenu--submenu__main {
	padding: 5px 20px;
	margin-bottom: 5px;
}

.fnc--megamenu--submenu__mainlink {
	
}

.fnc--megamenu--submenu__mainsublink {
    padding: 3px 3px 3px 10px;
}

.fnc--megamenu--submenu__link {
   color: var(--5-text-color);
}

.fnc--megamenu--submenu__link:hover {
    color: var(--5-text-color);
    text-decoration: underline;
}

.fnc--megamenu--submenu__sublink {
    color: var(--5-text-color);
    font-size: 90%;
}

.fnc--megamenu--submenu__sublink:hover {
    color: var(--5-text-color);
    font-size: 90%;
    text-decoration: none;
}


/* Адаптивное меню каталога */

.fnc--catalog--adapt {
    display: none;
}


@media all and (max-width: 700px) {
    .fnc--megamenu {
		display: none;
    }
	.menu--catalog {
		display: none;
	}
	.header--underhead--inner__left {
		width:100%;
	}
}

.fnc--adaptive--category {
	padding:15px 10px;
	text-align:center;
	background:var(--5-text-color);
	border-bottom:1px solid var(--3-text-color);
}

.fnc--adaptive--category a{
	color:var(--2-text-color);
	font-size:16px;
}

.fnc--adaptive--category:hover a{
	color: var(--2-text-color);
	font-size:16px;
}

/*Лента элементов единица*/

.content--center--article {
	padding:10px;
}

.page--article--back {
	padding:10px 0;
}

.page--article--back a{
	border-bottom:1px var(--5-text-color) solid;
	font-size:14px;
	color:var(--5-text-color);
}

.page--article--back a:hover{
	border-bottom:1px var(--3-text-color) solid;
	font-size:14px;
	color:var(--3-text-color);
	text-decoration:none;
}

.page--article--name {
	padding:10px 0;
}

.page--article--text {
	padding:10px 0;
}

.page--article--text img {
	max-width:100%;
}

.page--article--date {
	padding:10px 0;
}

/*Лента элементов страница*/

.fnc--articles--list {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.fnc--articles--listitem {
	flex-basis:30%;
}

@media all and (max-width: 600px) {
   
	.fnc--articles--listitem {
		flex-basis:46%;
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--articles--listitem {
		flex-basis:96%;
	}
	
}

.fnc--articles--listitem__main {
	padding:5px;
}

.fnc--articles--listitem__name {
	padding:5px;
}

.fnc--articles--listitem__image img {
	max-width:100%;
}

.fnc--articles--listitem__info {
	
}

.fnc--articles--listitem__date {
	padding:5px;
}

/*Лента элементов в колонке*/

.fnc--column--articles {
	
}

.fnc--column--articles__title {
	
}

.fnc--column--articles__container {
	
}

.fnc--column--article_listitem {
	
}

.fnc--column--article--listitem__img {
	
}

.fnc--column--article--listitem__img  img{
	max-width:100%;
}

.fnc--column--article--listitem__info {
	
}

.fnc--column--article--listitem__name {
	
}

.fnc--column--article--listitem__date {
	
}

.fnc--column--articles__button {
	
}

/*Лента элементов по центру*/


.fnc--center--articles {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--center--articles__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}

.fnc--center--articles__container {
	max-width: 1620px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
}

.fnc--center--articles__listitem {
	flex-basis:calc(33% - 40px);
	margin:15px;
	border-radius:10px;
	display:flex;
	flex-direction:column;
	text-align:center;
	 box-shadow: 0 0 20px -10px var(--13-text-color);
}

@media all and (max-width: 700px) {
   
	.fnc--center--articles__container {
		flex-wrap: wrap;
    }
	
}

@media all and (max-width: 600px) {
   
	.fnc--center--articles__listitem {
		flex-basis:calc(50% - 40px);
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--center--articles__listitem {
		flex-basis:calc(100% - 40px);
	}
	
}

.fnc--center--articles__listitem__main {
	display:flex;
	flex-direction:column-reverse;
	border-radius:0 0 10px 10px;
}

.fnc--center--articles--listitem__image {
	
}

.fnc--center--articles--listitem__image img {
	width:100%;
	max-height:100%;
	border-radius:10px 10px 0 0;
	display:flex;
}

.fnc--center--articles--listitem__info {
	text-align:left;
	padding:20px 20px;
}

.fnc--center--articles--listitem__name {
	font-size: 16px;
	padding:20px 20px 10px 20px;
	text-align:left;
}

.fnc--center--articles--listitem__name a{
	font-weight:bolder;
}

.fnc--center--article--listitem__date {
	
}

.fnc--center--articles__button {
	text-align: center;
}

.fnc--center--articles__button a{
	padding:10px 15px;
	border:1px solid transparent;
	border-bottom:1px solid var(--5-text-color);
	display:inline-block;
	margin:0 auto;
	    border-radius:  10px;
}

.fnc--center--articles__button a:hover{
	border:1px solid var(--5-text-color);
	background:var(--5-text-color);
	color:var(--2-text-color);
	text-decoration:none;
	    border-radius: 10px;
}

/*Слайдер*/

.fnc--slider--container {
	transition:none;
}

.fnc--slider--inner {
	transition:none;
}

.fnc--slider--inner__images {
	
}

.js__adv--banner__absolute {
	position:absolute;
	transition:none;
	transition:none;
}


.js__fnc--slider--inner__relative {
	position:relative;
	display: flex;
    justify-content: center;
	transition:none;
}

.js__fnc--slider--inner__absolute {
	position:absolute;
	opacity:0;
	transition:none;
}

.fnc--slider--inner__text {
	position:absolute;
}

.fnc--slider--inner--arrows__left {
	position:absolute;
	top:50%;
	left:1%;
	z-index:100;
}

.fnc--slider--inner--arrows__right {
	position:absolute;
	top:50%;
	right:1%;
	z-index:100;
}

.fnc--slider--inner--arrow__left {
	
}

.fnc--slider--inner--arrow__left button {
	background-image: url(/themes/main/back.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    padding: 5px 5px;
}

.fnc--slider--inner--arrow__right {
	
}

.fnc--slider--inner--arrow__right button {
	background-image: url(/themes/main/next.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    padding: 5px 5px;
}

.fnc--slider--inner__buttons {
	position:absolute;
	top:90%;
	width:100%;
}

.fnc--slider--inner--buttons__inner {
	display: flex;
    justify-content: center;
}

.fnc--slider--inner--button {
	padding: 5px 10px;
    background: var(--22-text-color);
    border-radius: 100%;
    border: 1px solid var(--12-text-color);
	margin:0 5px;
}

.fnc--slider--inner--button:hover {
	padding: 5px 10px;
	background: var(--5-text-color);
	color:var(--2-text-color);
	border-radius: 100%;
    border: 1px solid var(--12-text-color);
	margin:0 5px;
}

.fnc--slider--inner--button__active {
	padding: 5px 10px;
	background: var(--5-text-color);
	color:var(--2-text-color);
	border-radius: 100%;
    border: 1px solid var(--12-text-color);
	margin:0 5px;
}

/*Пагинация*/

.fnc--pagination {
	display:flex;
	justify-content: center;
	padding:10px 0;
}

.fnc--paging--button {
	margin:5px;
	padding:6px 12px;
	border:1px solid var(--5-text-color);
	color:var(--2-text-color);
	border-radius:5px;
}

.fnc--paging--button:hover {
	margin:5px;
	padding:6px 12px;
	border:1px solid var(--5-text-color);
	color:var(--5-text-color);
	background:var(--2-text-color);
}

.fnc--paging--button__now {
	margin:5px;
	padding:6px 12px;
	border:1px solid var(--5-text-color);
	border-radius:5px;
}

/*Галерея слайдер*/

.fnc--slider--gallery {
	padding:50px 10px;
}

.fnc--slider--gallery__title {
	font-size:18px;
	text-align:center;
}

.fnc--slider--gallery__container {
	display: flex;
    flex-direction: row;
    align-items: center;
}

.fnc--slider--gallery--container__center {
	margin:0 auto;
}

.fnc--slider--gallery--container--center__main {
	display: flex;
    flex-direction: row;
}

.fnc--slider--gallery--container--center__listitem {
	display:flex;
}

.fnc--slider--gallery--container--center__item {
	width:286px;
	margin:5px;
	display: flex;
    flex-direction: column;
	justify-content: center;
    align-items: center;
}

.fnc--slider--gallery--container--center__image img {
	max-width:100%;
}

.fnc--slider--gallery--button {
	padding:10px 0;
	text-align:center;
}

.fnc--slider--gallery--button a{
	border-bottom:1px var(--5-text-color) solid;
	font-size:14px;
	color:var(--5-text-color);
}

.fnc--slider--gallery--button a:hover{
	border-bottom:1px var(--3-text-color) solid;
	font-size:14px;
	color:var(--3-text-color);
	text-decoration:none;
}

/*Галерея столбец*/

.fnc--column--gallery {
	
}

.fnc--column--gallery__title {
	
}

.fnc--column--gallery__container {
	
}

.fnc--column--gallery__listitem {
	
}

.fnc--column--gallery--listitem__name {
	
}

.fnc--column--gallery--listitem__image {
	
}

.fnc--column--gallery__button {
	
}

/*Галерея страница*/

.fnc--gallery--list {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	padding:5px;
}

.fnc--gallery--listitem {
	flex-basis:22%;
	margin-bottom:10px;
}

@media all and (max-width: 600px) {
   
	.fnc--gallery--listitem {
		flex-basis:30%;
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--gallery--listitem {
		flex-basis:90%;
	}
	
}

.fnc--gallery--listitem__image img {
	max-width:100%;
}

.fnc--gallery--listitem__text {
	
}

/*Вопрос-ответ*/

.fnc--addfaq--container {
	max-width:500px;
	width:100%;
	margin:0 auto;
}

.fnc--addfaq--title {
	font-size:17px;
	text-align:center;
}

.fnc--addfaq--item {
	padding:3px;
}


/*Опросы*/

.fnc--polls--main__inner {
    display: flex;
    position: relative;
	padding:10px 0;
	padding-right: 20px;
}

.fnc--polls--main--inner__votes {
	position:absolute;
	right:0;
}

input.js__poll--check {
	display:none;
}

input.js__poll--check + label:before {
	content: "\2713";
    font-size: 13px;
    color: transparent;
    text-align: center;
	font-weight:bolder;
    border:2px solid var(--5-text-color);
	background:var(--2-text-color);
	cursor:pointer;
	cursor:hand;
	padding:0 3px 0 4px;
	transition: all 0.3s ease;
}

input.js__poll--check:checked + label:before {
	content: "\2713";
    font-size: 13px;
    color: var(--5-text-color);
    text-align: center;
	font-weight:bolder;
    border:2px solid var(--5-text-color);
	background:var(--2-text-color);
	cursor:pointer;
	cursor:hand;
	padding:0 3px 0 4px;
}

input.js__poll--check:disabled + label:before {
	content: "\2713";
    font-size: 13px;
    color: transparent;
    text-align: center;
	font-weight:bolder;
    border:2px solid var(--11-text-color);
	background:var(--2-text-color);
	cursor:pointer;
	cursor:hand;
	padding:0 3px 0 4px;
	transition: all 0.3s ease;
}

.fnc--polls--main__linein {
	height:20px;
	background:#eee;
}

/*Формы связи*/

.fnc--feedback {
	padding:50px 10px;
	background:var(--5-text-color);
	color:var(--2-text-color);
}

.fnc--feedback--container {
	max-width:800px;
	width:100%;
	margin:0 auto;
}

.fnc--feedback__title {
	font-size: 20px;
	padding:10px 0;
}

.fnc--feedback__second--title {
	font-size: 16px;
	padding:10px 0;
}

.fnc--feedback--main {
	
}

.fnc--feedback--main__line {
	
}

.fnc--feedback--main__name {
	padding:5px 0;
}

.fnc--feedback--main__param {
	padding:5px 0;
}

.fnc--feedback--main__button  {
	padding:10px 0;
	text-align:center;
}

.fnc--feedback--main__button button  {
	color: var(--5-text-color);
	background: var(--2-text-color);
}

.fnc--feedback--main__button button:hover  {
	background: var(--5-text-color);
	color: var(--2-text-color);
}

/*Отзывы в колонке*/

.fnc--column--comments {
	
}

.fnc--column--comments__title {
	
}

.fnc--center--comments--container {
	
}

.fnc--center--comments--listitem__main {
	
}

.fnc--center--comments--listitem__name {
	
}

.fnc--center--comments--listitem__text {
	
}

.fnc--center--comments--listitem__date {
	
}

/*Отзывы в слайдере*/

.fnc--slider--comments {
	max-width:1000px;
	width:100%;
	margin:0 auto;
	padding:50px 0;
}

.fnc--slider--comments__title {
	font-size:17px;
	text-align:center;
}

.fnc--slider--comments--container {
	display:flex;
	align-items: center;
    justify-content: center;
	padding:10px;
}

.fnc--slider--comments__main {
	padding:0 40px;
	max-width:500px;
	width:100%;
}

.fnc--slider--comments__name {
	padding:5px 0;
}

.fnc--slider--comments__text {
	padding:5px 0;
}

.fnc--slider--comments__date {
	padding:5px 0;
}

/*Отзывы страница*/

.fnc--comments--list {
	padding:10px;
	max-width:1620px;
}

.fnc--addcomment--container {
	max-width:500px;
	width:100%;
	margin:28px 0 0;
}

.fnc--addcomment--title {
	font-size:17px;
	font-weight:700;
	margin-bottom:8px;
}

.fnc--addcomment--item {
	padding:3px;
}

.fnc--comments--listitem {
	border-bottom:1px solid var(--12-text-color);
}

.fnc--comments--listitem__main {
	display:flex;
	align-items: center;
	padding:3px 0;
	justify-content: space-between;
}

.fnc--comments--listitem__name {
	font-weight:bolder;
}

.fnc--comments--listitem__text {
	font-size:17px;
	padding:3px 0;
}

/*Заказать звонок*/

.fnc--order--call {
	
}

/*Попап*/

.js__body--popup {
	
}

.popup--callme--container {
	
}

.popup--container__main {
	
}

.popup--container__close {
	text-align:right;
}

.popup--container__title {
	
}

.popup--container__line {
	padding:5px 0;
}

.popup--container__button {
	
}

/*Авторизация*/

.fnc--login--fields {
	
}

.fnc--login--fields--container {
	
}

.fnc--login--fields__main {
	
}

.fnc--login--fields__field {
	padding:5px 0;
}

.fnc--login--fields__buttons {
	display:flex;
	justify-content:space-between;
}

.fnc--login--fields__social {
	text-align:center;
	padding:5px 0;
}

.fnc--login--fields--social__buttons {
	display:flex;
	justify-content: space-evenly;
}

.fnc--login--fields__forgot {
	padding:5px 0; 
	text-align:right;
}

.js__forgot--button {
	cursor:pointer;
	cursor:hand;
}

/*Регистрация*/

.registration--center--page {
	max-width:1620px;
	margin:0 auto;
	width:100%;
	padding:30px 10px;
}

.registration--main {
	
	max-width:800px;
	margin:0 auto;
	width:100%;
}

.registration--main__title {
	font-size: 22px;
	padding:3px 0;
}

.registration--main__inner {
	
}

.registration--main__line {
	padding:3px 0;
}

.registration--main__name {
	padding:3px 0;
}

.registration--main__param {
	padding:3px 0;
}

.registration--main__button {
	padding:3px 0;
}

.js__registration--page--info {
	color:var(--14-text-color);
}

/*Аккаунт*/

.account--center--page {
	max-width:1620px;
	margin:0 auto;
	width:100%;
	padding:30px 10px;
}

.account--info--row {
	font-size: 22px;
	padding:3px 0;
}

.account--info--row__welcome {
	
}

.account--tabs {
	display:flex;
	align-items: flex-end;
	margin:20px 0;
	border-bottom:1px solid var(--5-text-color);
	height:42px;
}

@media all and (max-width: 700px) {
	
	.account--tabs {
		height:auto;
		flex-direction:column;
			align-items: flex-start;
	}
}

.account--tabs__position {
	margin-right:1px;
}


.account--tab {
	color:var(--3-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

.account--tab:hover {
	color:var(--1-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

.account--tab__active {
	color:var(--1-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

.account--tabs__columns {
	display:flex;
	justify-content: space-between;
}

.account--tabs---column__left {
	flex-basis:48%;
}

.account--tabs---column__right {
	flex-basis:48%;
}

@media all and (max-width: 700px) {
	
	.account--tabs__columns {
		flex-direction:column;
	}

	.account--tabs---column__left {
		flex-basis:100%;
	}

	.account--tabs---column__right {
		flex-basis:100%;
	}
	
}

.account--tabs--column__title {
	font-size:18px;
	padding:3px;
}

.account--main__line {
	padding:3px;
}	

.account--main__name {
	padding:3px;
}

.account--main__param {
	padding:3px;
}

.account--main__button {
	padding:3px;
}

.js__user--data--info, .js__user--main--info {
	color:var(--14-text-color);
	padding:3px;
	font-size:12px;
}

.js__user--avatar--container img{
	max-width:150px;
	max-height:150px;
}

.fnc--account--order {
	margin-bottom:15px;
	border-bottom:1px solid var(--12-text-color);
	padding-bottom:10px;
}

.fnc--account--order__wrap {
	
}

.fnc--account--order__titlerow {
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.fnc--account--order__number {
	
}

.fnc--account--order__parent {
	
}

.fnc--account--order__inforow {
	padding:5px 0;
}

.fnc--cartlist--container {
	padding:5px 0;
	max-width:1000px;
	margin:0 auto;
}

.fnc--account--order__more {
	text-decoration:underline;
	cursor:pointer;
	cursor:hand;
}

/*Блок над списком товаров*/

.fnc--itemshow--container {
	display: flex;
	justify-content: space-between;
	padding:10px 5px;
	border-bottom: 1px solid var(--12-text-color);
	border-top: 1px solid var(--12-text-color);
}

@media all and (max-width: 600px) {
	
	.fnc--itemshow--container {
		flex-wrap:wrap;
	}
	
}

/*Блок сортировки*/

.fnc--sorting {
	display: flex;
	align-items:center;
	
}

@media all and (max-width: 600px) {
	
	.fnc--sorting {
		display: none;
	}
	
}

.fnc--sorting__title {
	padding:5px 15px 5px 0;
}

.fnc--sorting__wrap {
	display: flex;
	align-items:center;
}

.fnc--sorting__cell {
	padding:5px;
}

.fnc--sorting--cell__inner {
	display: flex;
	align-items:center;
}

.fnc--sorting--cell--inner__arrow {
	padding-left:5px;
}

.js__sort--button {
	padding:5px 10px;
}


/*Блок кол-во товаров на странице*/

.fnc--perpage--items {
	
}

.fnc--perpage--items--container select {
	padding:5px 10px;
}	
	

/*Блок типа отображения товаров*/

.fnc--viewblock--items {
	display: flex;
    align-items: center;
    flex-grow: 1;
     justify-content: flex-end;
    padding-right: 15px;
}

.fnc--viewblock--table div{
	width:26px;
	height:26px;
	background:url('/themes/main/table.jpg') no-repeat;
	cursor:pointer;
	cursor:hand;
	margin:0 2px;
}

.fnc--viewblock--table__active div {
	width:26px;
	height:26px;
	background:url('/themes/main/table_act.jpg') no-repeat;
	cursor:pointer;
	cursor:hand;
	margin:0 2px;
}

.fnc--viewblock--list div{
	width:26px;
	height:26px;
	background:url('/themes/main/list.jpg') no-repeat;
	cursor:pointer;
	cursor:hand;
	margin:0 2px;
}

.fnc--viewblock--list__active div{
	width:26px;
	height:26px;
	background:url('/themes/main/list_act.jpg') no-repeat;
	cursor:pointer;
	cursor:hand;
	margin:0 2px;
}

/*Список товаров таблица*/

.fnc--products--listVer {
	display:flex;
	flex-wrap:wrap;
	padding:10px 0;
	
}

.fnc--products--listitem {
	flex-basis: calc(20% - 12px);
	margin: 6px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--12-text-color);
    position: relative;
    border-radius: 10px;
	position:relative;
}

@media all and (max-width: 1520px) {
	.fnc--products--listitem {
		flex-basis: calc(25% - 12px);
	}
}


@media all and (max-width: 1100px) {
	.fnc--products--listitem {
		flex-basis: calc(33% - 12px);
	}
}

@media all and (max-width: 600px) {
	.fnc--products--listitem {
		flex-basis: calc(50% - 12px);
	}
}

.fnc--products--listitem:hover {
	box-shadow: 0 0 20px -10px var(--13-text-color);
}

.fnc--products--listitem__icon {
	position:absolute;
	top:0px;
	left:0px;
}

.fnc--products--listitem__main {
	display:flex;
	flex-direction:column-reverse;
	width:100%;
}

.fnc--products--listitem__name {
	padding:0 15px;
	text-align:center;
	height: 50px;
    display: flex;
    align-items: center;
	
}

.fnc--products--listitem__name a{
	font-weight:bolder;
}

.fnc--products--listitem__image {
	display: flex;
    height: 268px;
    padding: 0 0 0px 0;
    overflow: hidden;
    justify-content: center;
	align-items:center;
}

@media all and (max-width: 1520px) {
	.fnc--products--listitem__image {
		height: 272px;
	}
}

@media all and (max-width: 1300px) {
	.fnc--products--listitem__image {
		height: 250px;
	}
}

@media all and (max-width: 400px) {
	.fnc--products--listitem__image {
		height: 182px;
	}
}

.fnc--products--listitem__image img {
	max-width:100%;
	max-height:100%;
	display: block;
	margin:0 auto;
	border-radius:10px 10px 0 0 ;
}


.fnc--products--listitem__additional {
	display:flex;
	justify-content: space-between;
	width:100%;
	padding:0 15px;
	flex-wrap:wrap;
}

.fnc--products--listitem__votes {
	display: flex;
    align-items: center;
	padding:5px 0;
	justify-content:center;
}

.fnc--products--listitem__vote {
	padding:0 5px;
}

.fnc--products--listitem__info {
	
}

.fnc--products--listitem__buttons {
	display:flex;
	align-items:center;
	justify-content:space-evenly;
	padding:5px 0;
}

.fnc--products--listitem__shopinfo {
	display:flex;
	flex-direction:column;
	padding:0px 0;
	width:100%;
}

.fnc--products--listitem__price {
	
    display: flex;
    font-size: 130%;
	flex-direction:column;
	padding:5px 15px;
	min-height: 62px;
    justify-content: center;
}

.fnc--products--listitem__oldprice {
	color:var(--5-text-color);
	font-size:60%;
	text-decoration:line-through;
	padding-right:10px;
}

.fnc--products--listitem__actprice {
	font-weight:bolder;
}

.fnc--products--listitem__buy {
	width:100%;
	min-height:32px;
	display:flex;
	justify-content:center;
	border-radius:0 0 10px 10px;
	
}

.fnc--products--listitem__buy button{
	width:100%;
	padding: 15px 20px;
	border-radius:0 0 10px 10px;
	text-transform:uppercase;
	font-weight:bolder;
}


/*Список товаров список*/

.fnc--products--listHor {
	display:flex;
	flex-direction:column;
	padding:10px 0;
}

.fnc--products--listhoritem {
	display:flex;
	flex-direction:column;
	margin:2px 0;
	border:1px solid #eee;
	position:relative;
}

.fnc--products--listhoritem:hover {
	box-shadow: 0 0 2px 1px var(--13-text-color);
}

.fnc--products--listhoritem__icon {
	position:absolute;
	top:0px;
	left:0px;
}

.fnc--products--listhoritem__inner {
	display:flex;
	flex-direction:row;
}

.fnc--products--listhoritem__main {
	padding-left:15px;
}

.fnc--products--listhoritem__name {
	padding:5px 0;
}

.fnc--products--listhoritem__image {
	display:flex;
	flex-basis:200px;
	height:220px;
	padding:10px 0;
	align-items:center;
	justify-content:center;
}

.fnc--products--listhoritem__image img {
	max-width:100%;
	max-height:200px;
	display: block;
}

.fnc--products--listhoritem__votes {
	display: flex;
    align-items: center;
	padding:5px 0;
	justify-content:center;
}

.fnc--products--listhoritem__vote {
	padding:0 5px;
}

.fnc--products--listhoritem__info {
	padding:5px;
}

.fnc--products--listhoritem__buttons {
	display: flex;
}

.fnc--products--listhoritem__buttons div {
	padding-right:10px;
}

.fnc--products--listhoritem__price {
	padding:5px;
	color:var(--14-text-color);
}

/*Страница товара*/

.content--item--page {
	padding: 0 16px;
}
@media (min-width: 768px) { .content--item--page { padding: 0 26px; } }

.itempage--nextitems {
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.itempage--nextitems__prev {
	
}

.itempage--nextitems__next {
	padding:10px 0;
}

.itempage--overblock {
	
}

.itempage--overblock__name {
	
}

.itempage--overblock__code {
	
}

.itempage--columns {
	display:flex;
	padding:5px 10px;
	
}


.itempage--left--column {
	width: 100%;
    max-width: 405px;
}

.itempage--center--column {
	flex-grow:1;
	padding:0 15px;
}

.itempage--right--column {
	width: 100%;
    max-width: 250px;
}

@media all and (max-width: 1000px) {
	
	.itempage--right--column {
		display:none;
	}
	
	.itempage--nextitems { 
		display:none;
	}
	
}

@media all and (max-width: 600px) {
	
	.itempage--columns {
		flex-wrap:wrap;
	}
	
	.itempage--left--column {
		max-width:100%;
	}

	.itempage--center--column {
		padding:0 5px;
	}

	.itempage--right--column {
		padding:0 5px;
		max-width: 100%;
	}
	
	.itempage--nextitems { 
		display:none;
	}
	
}

.itempage--item--image {
	height:450px;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	cursor:hand;
}

.itempage--item--image img{
	max-width:100%;
	max-height:435px;
}

.itempage--item--image__icons {
	
}

.itempage--center--name {
	
}

.itempage--center--code {
	padding:5px 0;
	color:var(--3-text-color);
	font-size:16px;
}

.itempage--center--status {
	padding:5px 0;
	font-size:16px;
}

.itempage--center--pricefor {
	padding:3px 0;
}

.itempage--center--price {
	padding:3px 0;
	color:var(--14-text-color);
	font-size:18px;
}

.itempage--center--valutes {
	padding:3px 0;
}

.itempage--center--valutes__inner {
	
}

.itempage--center--brand {
	padding:3px 0;
}

.itempage--center--text {
	padding:3px 0;
}

.itempage--center--buttons {
	display:flex;
	align-items:center;
	padding:5px 0;
}

.itempage--center--quest {
	padding-right:5px;
}

.itempage--center--quest button{
	color:var(--1-text-color);
	background:transparent;
	font-weight:Bolder;
}

.itempage--center--quest button:hover{
	color:var(--3-text-color);
	background:transparent;
}

.itempage--center--favor {
	padding:0 15px;
	position:relative;
	top:-2px;
}

.itempage--center--favor button{
	padding:0;
}

.itempage--center--compare {
	padding:0 15px;
	position:relative;
	top:-2px;
}

.itempage--center--compare button{
	padding:0;
}

.favor--item {
	background-image:url('/themes/main/heart.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-color:transparent;
	width:20px;
	height:20px;
	font-size:0;
}

.favor--item__active, .favor--item__active:hover, .favor--item:hover {
	background-image:url('/themes/main/favorite_red.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-color:transparent;
	width:20px;
	height:20px;
	font-size:0;
}

.compare--item {
	background-image:url('/themes/main/comparison.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-color:transparent;
	width:20px;
	height:20px;
	font-size:0;
}

.compare--item__active, .compare--item__active:hover, .compare--item:hover {
	background-image:url('/themes/main/comparison_red.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-color:transparent;
	width:20px;
	height:20px;
	font-size:0;
}

/*Табы товара*/

.itempage--tabs {
	padding:10px 10px;
}

.itempage--tabs--buttons {
	display:flex;
	align-items: flex-end;
	margin:20px 0;
	border-bottom:1px solid var(--5-text-color);
	height:42px;
}

.itempage--tabs--button {
	margin-right:1px;
}

.itempage--tabs--button__inner {
	color:var(--3-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

.itempage--tabs--button__inner:hover {
	color:var(--1-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

.itempage--tabs--button__inner--active {
	color:var(--1-text-color);
	padding:5px 30px;
	cursor:pointer;
	cursor:hand;
	font-weight:bolder;
}

@media all and (max-width: 600px) {
	
	.itempage--tabs--buttons {
		flex-direction: column;
		align-items: center;
		height: auto;
	}
	
	.itempage--tabs--button__inner {
		height:auto;
		width:100%;
	}
	
	.itempage--tabs--button__inner--active {
		height:auto;
		width:100%;
	}
	
	.itempage--tabs--button {
		width:100%;
		margin-right:0px;
	}
	
	.itempage--tabs--button__inner {
		padding:15px 30px;
	}

	.itempage--tabs--button__inner--active {
		padding:15px 30px;
	}
	
}

.itempage--tab--info {
	
}

.itempage--files--container {
	
}

.itempage--files--listitem {
	display:flex;
	align-items:center;
}

.itempage--files--listitem__icon {
	width:50px;
}

.itempage--files--listitem__icon img{
	max-width:100%;
}

.itempage--files--listitem__name {
	padding-left:15px;
}

.itempage--center--prices {
	font-size:22px;
	padding:15px 0;
	display:flex;
	align-items:flex-end;
	font-weight:bolder;
}

.itempage--center--valutes {
	padding:5px 0;
	display:flex;
	align-items:flex-end;
}

.itempage--product__oldprice {
	color:var(--3-text-color);
	text-decoration:line-through;
	padding-right:10px;
	font-size:14px;
}

.itempage--product__actprice {
	
}

.itempage--valute__oldprice {
	color:var(--1-text-color);
	text-decoration:line-through;
	padding-right:10px;
	font-size:12px;
}

.itempage--valute__actprice {
	
}

.itempage--center--buyinfo {
	padding:5px 0;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}

.itempage--center--quantity {
	width:80px;
	padding-right:5px;
}

.itempage--center--quantity input{
	text-align: center;
    padding: 17px 20px;
    position: relative;
    width: 95px;
	font-size:14.5px;
	border:1px solid var(--12-text-color);
	border-radius:10px 0 0 10px;
}

.itempage--center--buybutton {
	padding:0 5px;
	position:Relative;
}

.itempage--center--buybutton button{
	text-transform:uppercase;
	font-size:18px;
	font-weight:Bolder;
    padding: 15px 40px;
	border-radius:10px;
}

.itempage--center--oneclick button:hover{
	
}

.itempage--center--oneclick {
	padding:0 5px;
}

.itempage--center--oneclick button{
	color:var(--1-text-color);
	background:transparent;
	font-weight:Bolder;
}

.itempage--center--oneclick button:hover{
	color:var(--3-text-color);
	background:transparent;
}

/*-- Блок для дополнительных параметров товара--*/

.itempage--center--options {
	border-bottom:1px solid var(--12-text-color);
	border-top:1px solid var(--12-text-color);
	padding:10px 0 20px 0;
	margin-top:10px;
}

.itempage--center--option {
	position:relative;
	margin:0px 0;
	display: inline-block;
	align-items:center;
}

.itempage--center--option__input {
	display:flex; 
	align-items:center;
	border:1px solid var(--12-text-color);
	padding:10px;
	cursor:pointer;
	cursor:hand;
	min-width:300px;
	border-radius:5px;
}

.itempage--center--option--name {
	padding:10px 0;
	
}

.itempage--center--option--nameinner {
	position:relative;
}

.itempage--center--option__image {
	padding-right:10px;
}

.itempage--center--option__image img{
	max-width:24px;
	max-height:24px;
	display:block;
}

.itempage--center--option__dropdown {
	display:none;
	position:absolute; 
	width:100%;
	border:1px solid var(--12-text-color);
	background:var(--22-text-color);
	z-index: 2;
	top:42px;
	
}

.itempage--center--option__dropdown--line {
	display:flex; 
	align-items:center;
	padding:10px;
	border-bottom:1px solid var(--12-text-color);
	cursor:pointer;
	cursor:hand;
}

.itempage--center--option__dropdown-line:hover {
	background:var(--12-text-color);
}

.itempage--center--checks {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

.itempage--center--check {
	display:flex;
	align-items:center;
	margin:2px;
	
	margin-left:0;
	padding:5px;
	cursor:pointer;
	cursor:hand;
}

.itempage--center--check div {
	padding:2px;
	font-weight:Bolder;
}

/*Акционные наборы*/

.itempage--actpocket--container {
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    background: var(--12-text-color);
    padding: 10px;
	border-radius:10px;
}

.itempage--actpocket--wrap {
    display:flex;
	align-items:center;
	justify-content: space-between;
}

.itempage--actpocket--title {
    font-size: 18px;
	font-weight:Bolder;
    padding: 5px;
    margin-bottom: 10px;
}

.itempage--actpocket--center {
	display:flex;
	align-items:center;
}

@media all and (max-width: 600px) {
	
	.itempage--actpocket--wrap {
		flex-direction:column;
	}
	
	.itempage--actpocket--center {
		flex-direction:column;
	}
	
}

.itempage--actpocket--plus {
	padding:0 20px;
	font-size:18px;
	font-weight:bolder;
}

.itempage--actpocket--item {
	padding:20px 20px;
}

.itempage--actpocket--img {
	height:210px;
	padding:5px 0;
	display:flex;
	align-items:center;
	justify-content:center;
}

.itempage--actpocket--img img{
	max-width:100%;
	max-height:200px;
}

.itempage--actpocket--name {
	padding:10px 0;
	font-weight:bolder;
}

.itempage--actpocket--oldprice {
	color:var(--3-text-color);
	text-decoration:line-through;
	padding-right:10px;
	font-size:14px;
	padding:2px 0;
}

.itempage--actpocket--newprice {
	font-size:18px;
	font-weight:bolder;
	padding:2px 0;
}

.itempage--actpocket--summ {
	padding:0 20px;
	
	font-size:16px;
	font-weight:bolder;
}

.itempage--actpocket--allprice {
	font-weight:bolder;
	font-size:22px;
}

.itempage--actpocket--buybutton {
	padding:10px 0;
}

.itempage--actpocket--buybutton button{
	text-transform: uppercase;
    font-size: 18px;
    font-weight: Bolder;
    padding: 15px 40px;
    border-radius: 10px;
}

/*Счетчик*/

.itempage--center--timer {
    background: var(--12-text-color);
    padding: 10px;
	font-size:110%;
    color:var(--14-text-color);
	display:flex;
	flex-direction:row;
	align-items:center;
	margin:4px 0;
}

.itempage--center--timer__title {
   color:var(--14-text-color);
}

.itempage--center--clock {
	display:flex;
	flex-direction:row;
	padding-left:10px;
	font-size:150%;
}

/*Рейтинг*/

.itempage--center--rate {
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:5px 0;
}

.fnc--addcomment--vote {
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:2px 0;
}

.fnc--addcomment--vote__name {
	padding-right:10px;
}

.itempage--vote--rate {
	margin-right:5px;
}

.fnc--addcomment--vote__rate {
	margin-right:3px;
	cursor:pointer;
	cursor:hand;
}

.item--vote {
	background-image:url('/themes/main/star.svg');
	width: 12px;
    height: 12px;
}

.item--vote--act {
	background-image:url('/themes/main/star_act.svg');
	width: 12px;
    height: 12px;
}

.itempage--center--rate .item--vote {
	background-image:url('/themes/main/star.svg');
	width: 18px;
    height: 18px;
}

.itempage--center--rate .item--vote--act {
	background-image:url('/themes/main/star_act.svg');
	width: 18px;
    height: 18px;
}

.fnc--comments--list__votes {
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:5px 0;
}

.fnc--comments--list__vote {
	margin-right:3px;
}

/*Характеристики товара*/

.item--page--chars--container {
	
}

.item--page--chars__row {
    display: flex;
    flex-direction: row;
	width:100%;
	border-bottom:1px solid var(--12-text-color);
}

.item--page--chars__row:nth-child(odd) {
	background: var(--hard-light-color);
}

.item--page--chars__row--name {
    padding: 5px;
    flex-basis:20%;
    font-size: 100%;
}

.item--page--chars__row--text {
    padding: 5px;
    font-size: 100%;
	flex-basis:80%;
}

.fnc--product--icon__action {
	background-image: url(/themes/main/medal.svg);
    background-repeat: no-repeat;
	background-size: 30px;
    width:30px;
	height:30px;
}

.fnc--product--icon__top {
	background-image: url(/themes/main/reward.svg);
    background-repeat: no-repeat;
	background-size: 30px;
    width:30px;
	height:30px;
}

.fnc--product--icon__new {
	background-image: url(/themes/main/new.svg);
    background-repeat: no-repeat;
	background-size: 30px;
    width:30px;
	height:30px;
}

/*Товары в слайдере системные стили*/

.fnc--slider--sameitems  {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--sameitems__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}

.fnc--slider--sameitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--sameitems--inner {
	
}

.slider--sameitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--sameitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--sameitem__main {
	display: flex;
}


.fnc--slider--topitems {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--topitems__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}

.fnc--slider--topitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--topitems--inner {
	
}

.slider--topitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--topitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--topitem__main {
	display: flex;
	align-items: flex-start;
}


.fnc--slider--newitems {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--newitems__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}

.fnc--slider--newitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--newitems--inner {
	
}

.slider--newitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--newitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--newitem__main {
	display: flex;
}

.fnc--slider--actitems {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--actitems__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}
.fnc--slider--actitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--actitems--inner {
	
}

.slider--actitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--actitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--actitem__main {
	display: flex;
}

.fnc--slider--lasitems {
	position: relative;
	padding:0 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--lasitems__title {
	font-size:26px;
    padding: 30px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}
.fnc--slider--lasitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--lasitems--inner {
	
}

.slider--lasitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--lasitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--lasitem__main {
	display: flex;
}

.fnc--slider--favitems {
	position: relative;
	padding:0 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--favitems__title {
	font-size:18px;
	padding:20px 0;
}
.fnc--slider--favitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--favitems--inner {
	
}

.slider--favitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--favitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--favitem__main {
	display: flex;
}

.fnc--slider--accessoriesitems {
	position: relative;
	padding:0 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--accessoriesitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--accessoriesitems--inner {
	
}

.slider--accessoriesitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--accessoriesitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--accessoriesitem__main {
	display: flex;
}

.fnc--slider--complectitems {
	position: relative;
	padding:0 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--complectitems__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content:center;
}

.slider--complectitems--inner {
	
}

.slider--complectitems__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--complectitems__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--complectitem__main {
	display: flex;
}

/*Товары в слайдере*/

.fnc--slider--item__left {
    padding-right: 5px;
    box-sizing: border-box;
}

.fnc--slider--item__left button {
   background-image: url(/themes/main/back.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    padding: 5px 5px;
}

.fnc--slider--item__right {
    padding-left: 5px;
    box-sizing: border-box;
}

.fnc--slider--item__right button {
   background-image: url(/themes/main/next.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    padding: 5px 5px;
}

.fnc--slider--listitem {
	width: 288px;
    margin: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	border:1px solid var(--12-text-color);
	position:relative;
	border-radius: 10px;
}

@media all and (max-width: 1100px) {
    .fnc--slider--listitem { width: 288px; }
}

.fnc--slider--listitem:hover {
	 box-shadow: 0 0 20px -10px var(--13-text-color);
}

.fnc--items--slider__main {
	display:flex;
	flex-direction:column-reverse;
	width:100%;
}

.fnc--items--slider__icon {
	position:absolute;
	left: -5px;
    top: -5px;
}

.fnc--items--slider__name {
	padding:0 15px;
    text-align: center;
    height: 50px;
    display: flex;
    align-items: center;
	
	position:relative;
}

.fnc--items--slider__name a{
	font-weight:bolder;
}

.fnc--items--slider__image  {
	padding:0px 0;
	height:308px;
	display:flex;
	justify-content: center;
    align-items: center;
	border-radius:10px 10px 0 0;
}

.fnc--items--slider__image img {
	max-width:100%;
	max-height:308px;
	border-radius:10px 10px 0 0;
	display:block;
}

.fnc--products--slider__additional {
	display:flex;
	justify-content: space-between;
	width:100%;
	padding:0 15px;
}

.fnc--products--slider__buttons {
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-basis:50%;
    padding: 5px 0;
}

.fnc--products--slider__votes {
	display: flex;
    align-items: center;
	padding:5px 0;
	flex-basis:50%;
	
}

.fnc--products--slider__vote {
	padding:0 2px;
}

.fnc--products--slider__shopinfo {
	display:flex;
	flex-direction:column;
	padding:0px 0;
	width:100%;
}

.fnc--products--slider__price {
	
    display: flex;
    font-size: 130%;
	flex-direction:column;
	padding:5px 15px;
	min-height: 62px;
    justify-content: center;
}

.fnc--products--slider__oldprice {
	
}

.fnc--products--slider__actprice {
	
}

.fnc--products--slider__buy {
	width:100%;
	min-height:32px;
	display:flex;
	justify-content:center;
	border-radius:0 0 10px 10px;
}

.fnc--products--slider__buy button {
	width:100%;
	padding: 15px 20px;
	border-radius:0 0 10px 10px;
	text-transform:uppercase;
	font-weight:bolder;
}


.fnc--slider--item__button {
	text-align: center;
}

.fnc--slider--item__button a{
	padding:10px 15px;
	border:1px solid transparent;
	border-bottom:1px solid var(--5-text-color);
	display:inline-block;
	margin:0 auto;
	 border-radius: 10px;
}

.fnc--slider--item__button a:hover{
	border:1px solid var(--5-text-color);
	background:var(--5-text-color);
	color:var(--2-text-color);
	text-decoration:none;
	 border-radius: 10px;
}

/*Топ товары в центре*/

.fnc--center-topitems {
	max-width:1620px;
	width:100%;
	padding:10px;
	margin:0 auto;
}

.fnc--center-topitems__title {
	font-size: 18px;
    padding: 20px 0;
}

.fnc--center-topitems__ver--container {
	display:flex;
	flex-wrap:wrap;
}

.fnc--center-topitems__hor--container {
	
}

/*Товары в столбике*/


.fnc--items--column {
	position: relative;
	padding:15px 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--items--column__title {
	font-size:16px;
    padding: 10px 0;
	color: var(--1-text-color);
    text-align:center;
	font-weight:bolder;
}

.fnc--items--column__container {
	
}

.fnc--items--column__listitem {
	border:1px solid var(--12-text-color);
	border-radius:6px;
	margin-bottom:10px;
}

.fnc--items--column__main {
	display:flex;
	flex-direction:column-reverse;
	width:100%;
}

.fnc--items--column__name{
	text-align:center;
	padding:5px 0;
	font-weight:bolder;
}

.fnc--items--column__price {
	
	text-align:center;
	padding:5px;
}

.fnc--items--column__image--left, .fnc--items--column__image--right  {
	text-align:center;
}

.fnc--items--column__image--left img {
	max-width:100%;
	max-height:100%;
}

.fnc--items--column__image--right img {
	max-width:100%;
	max-height:100%;
}

.fnc--products--column__buy {
	padding:10px 0;
	text-align:center;
}

.fnc--items--column__button {
	padding:8px 0;
	text-align:center;
}

/*Окно задать вопрос*/

.popup--container--iteminfo {
	display:flex;
}

.popup--container--iteminfo__image {
	width:100px;
	text-align:center;
}

.popup--container--iteminfo__image img {
	max-width:100%;
	max-height:100px;
}

.popup--container--iteminfo__main {
	
}

.popup--container--iteminfo__name {
	font-size:18px;
	padding-bottom:10px;
}

.popup--container--iteminfo__code {
	
}

/*Слайдер маленьких изображений*/

.fnc--small--images__wrap {
	display: flex;
    flex-direction: row;
    align-items: center;
}

.fnc--small--images__left {
	padding-right: 5px;
    box-sizing: border-box;
}

.fnc--small--images__right {
	padding-left: 5px;
    box-sizing: border-box;
}

.fnc--small--images__left button {
   background-image: url(/themes/main/back.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    padding: 5px 5px;
}


.fnc--small--images__right button {
   background-image: url(/themes/main/next.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    font-size: 0;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    padding: 5px 5px;
}

.fnc--small--images__center {
	width: 100%;
}

.fnc--small--images--inner {
	display: flex;
    flex-direction: row;
}

.fnc--small--images--listitem__main {
	margin: 2px;
    width: 79.75px;
	height:79.75px;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	cursor:hand;

}

.fnc--small--images--listitem__main:hover {
	box-shadow: 0 0 2px 1px var(--13-text-color);
}

.fnc--small-image--button {
	
}

.fnc--small-image--button img {
	max-width:100%;
	max-height:71px;
	display:block;
}

/*Большое изображение*/

.fnc--bigimage--header--line {
	display:flex;
	justify-content:space-between;
}

.fnc--bigimage--header__name {
	font-size:18px;
}

.fnc--bigimage--header__code {
	
}

.fnc--bigimage--inner {
	display: flex;  
	align-items: center; 
	justify-content: center;
	margin:0 auto;
}

.fnc--bigimage--left {
	position:absolute;
	z-index:200;  
	top:50%;
	left:0px;
}

.fnc--bigimage--right {
	position:absolute; 
	z-index:200; 
	top:50%; 
	right:0px;
}

.js__slider--small--images--popup {
	overflow-y:hidden;
	margin:0 auto;
}

.js__slider--small--images--inner {
	margin:0 auto; 
	display:flex; 
	align-items:center; 
	justify-content:center;
}

.js__slider--small--images--item {
	border:1px solid transparent; 
	cursor:pointer; cursor:hand; 
	display:flex; 
	align-items:center; 
	justify-content:center;	
	width: 80px; 
	margin:2px; 
	height:80px;
}

.js__slider--small--images--item img {
	display:block; 
	max-width:78px;	
	max-height:78px;
}

.js__image--itembig {
	cursor:pointer;
	cursor:hand;
}


/*Производители в слайдере*/

.fnc--slider--brands {
	position: relative;
	padding:0 5px;
	max-width:1620px;
	margin:0 auto;
}

.fnc--slider--brands__title {
	font-size:18px;
	padding:15px 0;
	color:var(--3-text-color);
	border-bottom:1px solid var(--3-text-color);
	margin-bottom:10px;
	background-image:url('/themes/main/apple.svg');
	background-repeat:no-repeat;
	background-position:0% 50%;
	background-size: 30px;
	padding-left:40px;
}

.fnc--slider--brands__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.slider--brands--inner {
	
}

.slider--brands__container {
	display: block;
    overflow: hidden;
    margin: 0px auto;
}

.js__slider--brands__container {
	display: flex;
    flex-direction: row;
}

.fnc--slider--brands__main {
	display: flex;
}

.fnc--slider--brands__left {
    padding-right: 5px;
    box-sizing: border-box;
}

.fnc--slider--brands__right {
    padding-left: 5px;
    box-sizing: border-box;
}

.fnc--slider--listbrand {
	width: 263px;
    margin: 5px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	border:1px solid #eee;
}

.fnc--slider--listbrand:hover {
	box-shadow: 0 0 2px 1px var(--13-text-color);
}

.fnc--brands--slider__name {
	padding:5px;
	text-align:center;
}

.fnc--brands--slider__image  {
	padding:5px 0;
	height:220px;
	display:flex;
	justify-content: center;
    align-items: center;
}

.fnc--brands--slider__image img {
	max-width:100%;
	max-height:200px;
}

.fnc--slider--brands__button {
	padding:5px 0;
	text-align: center;
}

.fnc--slider--brands__button a{
	padding:10px 15px;
	border:1px solid transparent;
	border-bottom:1px solid var(--5-text-color);
	display:inline-block;
	margin:0 auto;
}

.fnc--slider--brands__button a:hover{
	border:1px solid var(--5-text-color);
	background:var(--5-text-color);
	color:var(--2-text-color);
	text-decoration:none;
}

/*Производители в столбике*/

.fnc--brands--column {
	
}

.fnc--brands--column__title {
	font-size: 18px;
    padding: 20px 0;
}

.fnc--brands--column--container {
	
}

.fnc--brands--column__listitem {
	padding:10px 0;
	border-bottom:1px solid #eee;
}

.fnc--brands--column__name {
	
}

.fnc--brands--column__image--left img {
	max-width:100%;
}

.fnc--brands--column__image--right img {
	max-width:100%;
}

.fnc--brands--column__button {
	padding:10px 0;
}


/*Производители центр*/

.fnc--brands--list {
	padding:30px 0;
}

.fnc--brands--container {
	max-width:1620px;
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-around;
}

.fnc--brands--listitem {
	flex-basis:calc(33% - 40px);
	margin:15px;
	padding:10px;
	display:flex;
	flex-direction:column;
	text-align:center;
}

@media all and (max-width: 700px) {
   
	.fnc--brands--container {
		flex-wrap: wrap;
    }
	
}

@media all and (max-width: 600px) {
   
	.fnc--brands--listitem {
		flex-basis:calc(50% - 40px);
	}
	
}

@media all and (max-width: 400px) {
   
	.fnc--brands--listitem {
		flex-basis:calc(100% - 40px);
	}
	
}

.fnc--brands--listitem:hover {
	box-shadow:0 0 1px 0 var(--3-text-color);
}

.fnc--brands--listitem__main {
	
}

.fnc--brands--listitem__name  {
	padding:10px 0;
}

.fnc--brands--listitem__name a {
	font-size:18px;
}

.fnc--brands--listitem__image {
	padding: 10px 0;
    display: flex;
    align-items: center;
    height: 200px;
    justify-content: center;
}

.fnc--brands--listitem__image img{
	max-width:100%;
}

.fnc--brands--listitem__info  {
	
}

/*Фильтры*/


.mobile--show--filters {
	display:none;
	margin:0 auto;
	padding:10px 0;
	text-align:center;
}

.js__filters--popup {
	display: none;
    position: fixed;
    height: 100%;
    width: 0px;
    top: 0px;
    left: 0;
    z-index: 4292929;
    max-height: 100%;
    background: var(--22-text-color);
    border-right: 1px solid var(--4-text-color);
	opacity:0;
}

.js__filters--popup--content {
	overflow-y: auto;
	overflow-x: hidden;
	max-height: 100%;
}

.js__filters--popup--close {
	padding: 5px;
    text-align: right;
}

@media all and (max-width: 800px) {
	
	.js__filters--wrapper {
		display:none;
	}
	
	.mobile--show--filters {
		display:block;
	}
	
}

.fnc--filters--container {
	padding:5px 10px;
}

.js__filters--popup--content {
	padding:5px 10px;
}

.fnc--filters--title {
	font-weight: bolder;
    font-size: 18px;
	display:none;
}

.fnc--filters--wrap {
	
}

.fnc--filters--item {
	border-bottom: 1px solid var(--5-text-color);
	padding-bottom: 15px;
}

.fnc--filters--item__name {
	padding:15px 0;
	font-size:16px;
	
}

.fnc--filters--item__params {
	padding:3px 0;
}

.fnc--filters--item__inner {
	display:flex;
	padding:3px 0;
	align-items: center;
}

.fnc--filters--item__inner--name {
	padding:0 5px  0 0;
}

.fnc--filters--item__inner--param {
	flex-grow:1;
	padding:0 5px;
}

.fnc--filters--item__inner--slider {
	display:flex;
	padding:3px 0;
	justify-content:space-between;
	align-items:center;
}

.fnc--filters--item__inner--slider input {
	padding: 5px 20px;
}

.fnc--filters--item__inner select {
	padding: 5px 20px;
}

.fnc--filters--item__inner--slider div:nth-child(2) {
	padding:0 5px;
}

.fnc--filters--button {
	padding:15px 0;
}

.label--filter--checkbox {
	width:14px;
	height:14px;
	border:1px solid var(--5-text-color);
	background:var(--22-text-color);
	display: block;
	cursor:pointer;
	cursor:hand;
	position:relative;
}

input[type=checkbox]:checked + label:before {
	content:"";
	display: block;
	width:10px;
	height:10px;
	background:var(--5-text-color);
	position:absolute;
	top: 2px;
    left: 2px;
}

input[type=checkbox]:not([disabled]):hover + label:before {
	content:"";
	display: block;
	width:10px;
	height:10px;
	background:var(--5-text-color);
	position:absolute;
	top: 2px;
    left: 2px;
}

input[type=checkbox]:disabled + label {
	background:var(--11-text-color);
	border:1px solid var(--11-text-color);
	cursor:default;
}


input[type=radio]:checked + label:before {
	content:"";
	display: block;
	width:10px;
	height:10px;
	background:var(--5-text-color);
	position:absolute;
	top: 2px;
    left: 2px;
}

input[type=radio]:not([disabled]):hover + label:before {
	content:"";
	display: block;
	width:10px;
	height:10px;
	background:var(--5-text-color);
	position:absolute;
	top: 2px;
    left: 2px;
}

input[type=radio]:disabled + label {
	background:var(--11-text-color);
	border:1px solid var(--11-text-color);
	cursor:default;
}

.js__filter--check {
	display:none;
}

.js__brand--check {
	display:none;
}

.js__slider--price {
	margin: 10px 0;
}

/*Корзина*/

.fnc--cart--container {
	cursor: pointer;
    cursor: hand;
    background-image: url(/themes/main/shopping-cart.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
    background-position: 0px 50%;
    padding-left: 35px;
	min-height: 100%;
    display: flex;
    align-items: center;
}

@media all and (max-width: 570px) {
	
	.fnc--cart--container {
		width: 25px ;
		height:25px;
		position:relative;
		    margin: 0 auto;
			padding-left: 0px;
	}
	
	.fnc--cart--container__quantity {
		position: absolute;
    background: var(--5-text-color);
    color: var(--2-text-color);
    padding: 0px 4px;
    border-radius: 100%;
    left: -1px;
    top: -2px;
    font-size: 11px;
    border: 1px solid var(--5-text-color);
	}
	
}

.fnc--cart--container__title {
	font-weight:bolder;
	padding-bottom:5px;
	display:none;
}

.fnc--cart--container__amount {
	font-weight:Bolder;
}


@media all and (max-width: 800px) {
	
	
}

.fnc--cartlist--container table {
	width:100%;
	padding:10px 0;
}

.fnc--cartlist--container table td{
	padding:5px;
	vertical-align:middle;
}

.js__cart--popup {
    width: 1000px;
}

.fnc--cartlist--row__title {
	background: var(--5-text-color);
	color:var(--2-text-color);
}

.fnc--cartlist--row__total {
	background: var(--5-text-color);
	color:var(--2-text-color);
}

.fnc--cartlist--row:nth-child(odd) {
	background: var(--12-text-color);
}

.fnc--cartlist--cell__code {
	width:80px;
	word-wrap:break-word;
	text-align:center;
}

.fnc--cartlist--row__title .fnc--cartlist--cell__img {
	font-size:0;
}

.fnc--cartlist--cell__img {
	width:60px;
	text-align:center;
}

.fnc--cartlist--cell__img img {
	max-width:100%;
	max-height:60px;
}

.fnc--cartlist--cell__qnt {
	width:80px;
	text-align:center;
}

.fnc--cartlist--cell__qnt input{
	text-align:center;
}

.fnc--cartlist--cell__price, .fnc--cartlist--cell__total__summ, .fnc--cartlist--cell__amount {
	text-align:center;
	width:100px;
}

.fnc--cartlist--cell__delete {
	text-align:center;
	width:50px;
}

.fnc--cartlist--cell__total__text {
	text-align:right;
}

@media all and (max-width: 600px) {
	
	.fnc--cartlist--cell__code {
		display:none;
	}
	.fnc--cartlist--cell__price {
		display:none;
	}

}

.fnc--cartlist--params__table {
	padding:2px 0 !important;
	color: var(--5-text-color);
	font-size:11px;
	width:auto !important;
}

.fnc--cartlist--params__table--name {
	padding:2px 0 !important;
}

.fnc--cartlist--params__table--param {
	padding:2px 0 !important;
	padding-left:10px !important;
}

.fnc--cartpopup--buttons {
	display:flex;
	justify-content:space-between;
	padding:10px 0;
}

.fnc--cartpopup--continue {
	
}

.fnc--cartpopup--gotocart {
	
}

.fnc--cartpopup--empty {
	
}

.cart--page--container {
	flex-basis:38%;
}

.fnc--cartlist--section {
	flex-basis:60%;
	font-size:12px;
}
.fnc--cartlist--section input {
	font-size:12px;
}

.cart--page--title {
	font-weight:bolder;
}


.cart--page--inner {
	display:flex;
	justify-content:space-between;
	flex-direction:column;
	padding:10px 0;
}


.cart--page--inner--block__name {
	padding:3px 0;
	font-size:12px;
}

.cart--page--inner--block__param {
	padding:3px 0;
}

.cart--page--inner--block__param input {
	font-size:12px;
}

.cart--page--inner--block__param textarea {
	font-size:12px;
}

.cart--page--inner--block__param select {
	font-size:12px;
}

.cart--page--checkout {
	padding:10px;
	text-align:center;
}

.cart--page--checkout button {
	font-size:18px;
	font-weight:bolder;
	padding:15px 40px;
}

.cartsumm {
	text-align:Center;
}

.cart--page--payment__line {
	display:flex;
	padding:5px 0;
	align-items:center;
}

.cart--page--payment__line--left {
	
}

.cart--page--payment__line--right {
	
}

.fnc--payment--title {
	text-align:center;
	font-weight:bolder;
	padding:20px;
}

.fnc--comparision--container {
	cursor:pointer;
	cursor:hand;
}

.fnc--comparision--container__wrap {
	background-image:url('/themes/main/comparison.svg');
	background-repeat:no-repeat;
	background-size:100%;
	background-color:transparent;
	width:25px;
	height:25px;
	position:relative;
}

.fnc--comparision--active {
	background-image:url('/themes/main/comparison_red.svg');
}

.fnc--comparision--amount {
	position: absolute;
    background: var(--5-text-color);
    color: var(--2-text-color);
    padding: 2px 7px;
    border-radius: 100%;
    left: -3px;
    top: -4px;
    font-size: 12px;
    border: 1px solid var(--5-text-color);
}

.fnc--favors--container {
	cursor:pointer;
	cursor:hand;
}

.fnc--favors--container__wrap {
	background-image:url('/themes/main/heart.svg');
	background-repeat:no-repeat;
	background-size:100%;
	background-color:transparent;
	width:20px;
	height:20px;
	position:relative;
}

.fnc--favors--active {
	background-image:url('/themes/main/favorite_red.svg');
}

.fnc--favors--amount {
	    position: absolute;
    background: var(--5-text-color);
    color: var(--2-text-color);
    padding: 0px 4px;
    border-radius: 100%;
    left: -8px;
    top: -5px;
    font-size: 11px;
    border: 1px solid var(--5-text-color);
}



.js__delivery--city {
	position:relative;
	z-index:5;
}

.js__cart--cities--field--container {
	position:relative;
}
.js__cart--cities--field--inner {
	        position: absolute;
    width: 100%;
    z-index: 40;
    border: 1px solid #555;
    background: #fff;
    top: 0px;
    padding-top: 10px;
    display: none;
    left: 0%;
	font-size: 14px;
	overflow:auto;
	max-height:300px;
}
.js__cart--cities--field--inner #getWarehouseBycity {
	padding:5px 10px;
	border-bottom:1px solid #eee;
	cursor:pointer;
	cursor:hand;
	
}
.js__cart--cities--field--inner #getWarehouseBycity:hover {
	padding:5px 10px;
	border-bottom:1px solid #eee;
	cursor:pointer;
	cursor:hand;
	background:#fbfbfb;
	
}

.js__delivery--warehouse {
	position:relative;
	z-index:3;
}

.js__cart--warehouses--field--container {
	position:relative;
}
.js__cart--warehouses--field--inner {
	    position: absolute;
    width: 100%;
    z-index: 40;
    border: 1px solid #555;
    background: #fff;
    top: 0px;
    padding-top: 10px;
    display: none;
    left: 0%;
	font-size: 14px;
	overflow:auto;
	max-height:300px;
}
.js__cart--warehouses--field--inner #selectWare {
	padding:5px 10px;
	border-bottom:1px solid #eee;
	cursor:pointer;
	cursor:hand;
	
}
.js__cart--warehouses--field--inner #selectWare:hover {
	padding:5px 10px;
	border-bottom:1px solid #eee;
	cursor:pointer;
	cursor:hand;
	background:#fbfbfb;
	
}

.fnc--payments--line {
	display:none;
	align-items:center;
	margin:4px 0;
}

.fnc--payments--line div {
	padding:0 5px;
}

.fnc--payments--line select {
	padding: 5px 10px;
}

.fnc--pay--parts {
	display: inline-flex;
	align-items:center;
	background:var(--12-text-color);
	margin:15px 0;
	padding:20px;
}

@media all and (max-width: 799px) {
	
	.fnc--pay--parts {
		flex-direction:column;
		    align-items: flex-start;
	}

	
}

.fnc--pay--parts div:nth-child(1) {
	padding-right:30px;
	font-size:18px;
}

.fnc--pay--parts div:nth-child(2) {
	padding-left:30px;
}

@media all and (max-width: 799px) {
	
	.fnc--pay--parts div:nth-child(2) {
		padding-left:0px;
	}

	.fnc--pay--parts div:nth-child(2) button {
		padding:15px 0;
	}

	
}

.fnc--pay--parts button{
	color:var(--1-text-color);
	background:transparent;
	font-weight:Bolder;
}

.fnc--pay--parts button:hover{
	color:var(--3-text-color);
	background:transparent;
}

.fnc--payparts--line {
	display:flex;
	padding:15px 0;
	align-items:center;
	justify-content:space-between;
	    border-bottom: 1px solid var(--12-text-color);
}



.fnc--payparts--line div:nth-child(1) {
	flex-basis:40%;
}

.fnc--payparts--line select {
	padding:4px 8px ;
}

.content--center--chapter__rating {
	display:none;
}

.fnc--rightitem--block {
	  border: 1px solid var(--12-text-color);
	  border-radius:10px;
	  padding:20px;
}

.fnc--rightitem--block__title {
	font-size:18px;
	font-weight:Bolder;
	padding:10px 0;
}

.fnc--rightitem--block__text {
	padding:10px 0;
}

.fnc--rightitem--block__icons {
	display:flex;
}
.fnc--rightitem--block__icons div {
	padding:5px;
}
.fnc--rightitem--block__icons  img{
	max-width:100%;
}

.pagination--mobile {
	display:none;
}


@media all and (max-width: 600px) {
   
	.fnc--pagination {
		display:none;
	}
	
}

.pagination--mobile {
	display:flex !important;
}

@media all and (min-width: 600px) {

	.pagination--mobile {
		display:none !important;
	}

}

/* =====================================================================
   REFRESH — редизайн truecoffee (Cloud Design), сесія C.
   Стилізує наявні класи fnc--, menu--, header-- руху NespiCMS —
   нової розмітки не додає. Mobile First, звірка 390 / 768 / 1440.
   Нічого вище не видалено — усе перекривається каскадом (цей файл
   підключається останнім через themecss).
   ===================================================================== */

:root {
	/* поверхні */
	--page:        #F8F4EE;
	--surface:     #FFFFFF;
	--panel:       #FBF7F1;
	--cream-deep:  #F1E8DB;
	--line:        #E4DACC;
	--line-soft:   #F0E9DE;
	--line-strong: #C9BCAD;

	/* темні поверхні — тільки дві */
	--dark:        #14313A;  /* шапка, підвал, смуги */
	--dark-top:    #0B2229;  /* службовий рядок, навбар */

	/* текст */
	--ink:         #241A14;
	--ink-soft:    #4A3B31;
	--ink-muted:   #6B5A4D;
	--ink-faint:   #8A7A6D;
	--on-dark:     #F4EDE4;
	--on-dark-2:   #D3E0DE;
	--on-dark-3:   #9FB3B0;

	/* акцент і статуси */
	--accent:       #B0503C;
	--accent-hover: #8A3D2C;
	--accent-active:#74311F;
	--focus:        #C8853A;
	--error:        #8E2B23;
	--error-bg:     #FFF9F7;
	--success:      #3F6B4F;
	--success-bg:   #E9F0EC;
	--disabled-bg:  #E8E0D5;
	--disabled-fg:  #A2958A;

	/* бейджі */
	--badge-sale: #B0503C;
	--badge-new:  #3F6B4F;
	--badge-out:  #8A7A6D;

	--radius: 0;

	--font-text: 'Manrope', "Open sans", arial, verdana, sans-serif;
	--font-serif: 'Vollkorn', Georgia, "Times New Roman", serif;
}

/* =====================================================================
   2. ТИПОГРАФІКА — Vollkorn для заголовків (>=17px), Manrope для решти.
   Цифри/ціни/лічильники/телефон — завжди Manrope 800, tabular-nums.
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body, input, textarea, select, button {
	font-family: var(--font-text);
	color: var(--ink);
	font-size: 15px;
	line-height: 1.5;
}

body { background: var(--page); }

h1, h2, h3 {
	font-family: var(--font-serif);
	color: var(--ink);
	margin: 0;
	text-wrap: pretty;
}
h1 { font-weight: 700; font-size: 30px; line-height: 1.15; }
h2 { font-weight: 600; font-size: 26px; line-height: 1.2; }
h3 { font-weight: 600; font-size: 19px; line-height: 1.3; }
@media (min-width: 768px) {
	h1 { font-size: 38px; }
	h2 { font-size: 30px; }
	h3 { font-size: 22px; }
}
@media (min-width: 1200px) {
	h1 { font-size: 46px; }
	h2 { font-size: 36px; }
}

blockquote {
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 21px;
	color: var(--ink-soft);
}

.content--center--page__text {
	max-width: 70ch;
	font-size: 17px;
	line-height: 1.65;
	text-wrap: pretty;
}

/* Ціни/лічильники/суми/телефон — ніколи серифом, завжди tabular-nums */
.fnc--products--listitem__price,
.fnc--products--listitem__oldprice,
.fnc--products--listitem__actprice,
.fnc--favors--amount,
.fnc--cart--container,
.fnc--header--contacts__left,
.fnc--paging--button,
.fnc--paging--button__now,
.fnc--center--catalog__title small,
.fnc--catalog--heading__count {
	font-variant-numeric: tabular-nums;
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); text-decoration: underline; }

button, .js__add--tocart {
	border-radius: var(--radius);
	font-family: var(--font-text);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

/* ---------- Іконки (SVG-маски, stroke-width 1.5, currentColor) ---------- */
:root {
	--icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5C6 16.3 3 13 3 9.2C3 6.7 4.9 5 7.2 5C9.1 5 11 6 12 7.7C13 6 14.9 5 16.8 5C19.1 5 21 6.7 21 9.2C21 13 18 16.3 12 20.5Z'/%3E%3C/svg%3E");
	--icon-heart-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5C6 16.3 3 13 3 9.2C3 6.7 4.9 5 7.2 5C9.1 5 11 6 12 7.7C13 6 14.9 5 16.8 5C19.1 5 21 6.7 21 9.2C21 13 18 16.3 12 20.5Z'/%3E%3C/svg%3E");
	--icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
	--icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
	--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
	--icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
	--icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");
	--icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	--icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4V5z'/%3E%3C/svg%3E");
	--icon-eye-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
}
.icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	vertical-align: middle;
	flex-shrink: 0;
}
.icon--15 { width: 15px; height: 15px; }
.icon--17 { width: 17px; height: 17px; }
.icon--21 { width: 21px; height: 21px; }
.icon--24 { width: 24px; height: 24px; }

/* ---------- Шапка ---------- */
.header { background: var(--dark); }

.header--overhead {
	background: var(--dark-top);
}
.header--overhead__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 0 16px;
}
@media (min-width: 768px) {
	.header--overhead__inner { padding: 0 22px; }
}

.menu--chapters {
	display: none;
}
@media (min-width: 900px) {
	.menu--chapters {
		display: flex;
		align-items: center;
		gap: 20px;
		flex-wrap: nowrap;
	}
}
.menu--chapters__item { padding: 0; }
.menu--chapters__link {
	display: flex;
	align-items: center;
	padding: 4px 0;
	line-height: 17px;
	white-space: nowrap;
	color: var(--on-dark-2);
	font-size: 13px;
	text-transform: none;
	box-shadow: inset 0 -2px 0 transparent;
	transition: color 160ms ease, box-shadow 160ms ease;
}
.menu--chapters__link:hover,
.menu--chapters--link__active {
	color: var(--on-dark) !important;
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--accent);
}
.menu--chapters--item__active .menu--chapters__link {
	font-weight: 700;
	color: var(--on-dark) !important;
	box-shadow: inset 0 -2px 0 var(--accent);
}
/* вендорські правила рядка (фон --5-text-color на hover/active, 12px !important)
   перебивали REFRESH: активний пункт ставав сіро-фіолетовою плиткою з темним
   текстом, кегль був 12 замість 14px (ч.1 §3.1) */
.menu--chapters__item:hover,
.menu--chapters--item__active { background: transparent; }
.menu--chapters__item a { font-size: 13px !important; }

.menu--chapters--mobile { display: flex; }
@media (min-width: 900px) {
	.menu--chapters--mobile { display: none; }
}
.js__show--mobile--menu {
	background: none; /* вендорська menu.png малювалась під власною іконкою (::before) */
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--on-dark);
	cursor: pointer;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.js__show--mobile--menu::before {
	content: '';
	background-color: currentColor;
	-webkit-mask: var(--icon-menu) center / contain no-repeat;
	mask: var(--icon-menu) center / contain no-repeat;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

/* ---------- Службовий рядок, права частина: Вхід/Реєстрація · розділювач · мова ---------- */
.header--overhead--inner__right {
	display: flex;
	align-items: center;
	gap: 18px;
}
.fnc--login--buttons__container {
	display: flex;
	gap: 2px;
	padding: 0;
}
.fnc--login--buttons__inner button {
	display: flex;
	align-items: center;
	min-height: 35px;
	padding: 0 10px;
	background: transparent;
	border: none;
	color: var(--on-dark-2);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: color 160ms ease;
}
.fnc--login--buttons__inner button:hover { color: var(--on-dark); }
/* Перебиває старий вендорський блок вище у файлі (nth-child, вища
   специфічність) — там колір/іконка/паддінг були під світлий фон,
   на темній шапці "Вхід/Реєстрація" зливались з фоном. */
.fnc--login--buttons__inner:nth-child(1) button,
.fnc--login--buttons__inner:nth-child(2) button {
	background-image: none;
	padding: 0 10px;
	color: var(--on-dark-2);
}
.fnc--login--buttons__inner:nth-child(1) button:hover,
.fnc--login--buttons__inner:nth-child(2) button:hover { color: var(--on-dark); }

.header--overhead--inner__sep {
	width: 1px;
	height: 18px;
	background: rgba(211,224,222,.28);
	flex-shrink: 0;
}

.languages {
	display: flex;
	align-items: center;
	gap: 2px;
}
.language, .languageact {
	display: flex;
	align-items: center;
}
.language a, .languageact a {
	display: flex;
	align-items: center;
	line-height: 17px;
	padding: 4px 10px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	text-decoration: none;
}
.language a { color: var(--on-dark-3); }
.language a:hover { color: var(--on-dark-2); }
.languageact a {
	color: var(--on-dark);
	text-decoration: underline;
	text-decoration-color: var(--accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

/* Фото — на всю ширину екрана (не обмежене max-width, як контент) */
.header--centerhead {
	background: linear-gradient(180deg, rgba(30,20,14,.3) 0%, rgba(30,20,14,.56) 100%), var(--dark) url(/themes/truecoffee/coffee-fon.webp) center/cover no-repeat;
	min-height: 150px;
}
@media (min-width: 768px) {
	.header--centerhead { min-height: 172px; }
}

.header--centerhead__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 12px 24px;
	padding: 14px 16px;
	min-height: 150px;
	max-width: 1620px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.header--centerhead__inner { padding: 18px 26px; min-height: 172px; }
}

.header--centerhead--inner__logo {
	background: rgba(30,20,14,.6);
	padding: 18px 24px;
}
.header--centerhead--inner__logo img {
	max-height: 44px;
	display: block;
}

/* Плашка email/графіку — не в макеті (§3, "структура лишається як є" —
   прибрано за прямою вказівкою власника ще в сесії C). Телефон лишаємо.
   Поле #1 з адмінки (ns_config.header) — біля лого. */
.header--centerhead--inner__column1 {
	display: flex;
	align-items: center;
	order: 2;
}
.fnc--header--contacts__right { display: none; }
/* Плашка під номером — та сама, що в лого, щоб текст читався на фоні фото */
.fnc--header--contacts__left {
	background: rgba(30,20,14,.6);
	padding: 10px 20px;
	display: inline-block;
}
.fnc--header--contacts__left div {
	font-size: 20px;
	font-weight: 700;
	color: var(--on-dark);
	font-variant-numeric: tabular-nums;
}

/* Поле #2 з адмінки (ns_config.header1) — по центру, заповнює простір
   між Полем #1 і Полем #3/кошиком. Пошук з цього слоту переїхав у
   рядок мегаменю (fnc--megamenu--search) — старий display:none тут не
   потрібен. */
.header--centerhead--inner__column2 {
	display: flex;
	align-items: center;
	justify-content: center;
	order: 3;
	flex-grow: 1;
	text-align: center;
}
.fnc--search__container {
	display: flex;
	min-height: 44px;
}
.fnc--search__field input {
	min-height: 44px;
	border: 1px solid var(--line);
	padding: 0 12px;
	width: 100%;
	background: var(--surface);
}
.fnc--search__button button {
	min-height: 44px;
	min-width: 44px;
	background: var(--accent);
	color: #fff;
	border: none;
	padding: 0 16px;
	cursor: pointer;
}
.fnc--search__button button:hover { background: var(--accent-hover); }

/* Одна панель на Поле #3 + кошик — спільний фон/обрамлення, а не два
   окремих боксу поруч (за макетом). */
.header--centerhead--inner__column3 {
	display: flex;
	gap: 12px;
	align-items: center;
	border-left: 0;
	padding: 10px;
	margin-left: auto;
	background: rgba(30,20,14,.6);
}
.header--centerhead--inner--column3__in1 {
	margin: 0;
	padding: 0;
}
.header--centerhead--inner--column3__in1 .fnc--header--contacts__left {
	background: transparent;
	padding: 0;
}
/* Поле #3 біля кошика — підпис "ЗАМОВИТИ" над номером, за макетом */
.header--centerhead--inner--column3__in1 .fnc--header--contacts__left::before {
	content: "Замовити";
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--on-dark-2);
}

/* ---------- Кошик — один компонент на всі сторінки (§3.3) ---------- */
.fnc--cart--container {
	min-height: 44px;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	padding: 0 16px;
	border: 1px solid var(--accent);
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.fnc--cart--container::before {
	content: '';
	background-color: currentColor;
	-webkit-mask: var(--icon-cart) center / contain no-repeat;
	mask: var(--icon-cart) center / contain no-repeat;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.fnc--cart--container__title { white-space: nowrap; }
.fnc--cart--container__quantity,
.fnc--cart--container__amount {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.fnc--cart--container:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.fnc--cart--container__amount::before { content: '· '; }

@media (max-width: 389px) {
	.fnc--cart--container { min-width: 44px; padding: 0; justify-content: center; }
	.fnc--cart--container__title,
	.fnc--cart--container__amount { display: none; }
	.fnc--cart--container__quantity {
		position: absolute;
		top: -6px;
		right: -6px;
		min-width: 17px;
		height: 17px;
		padding: 0 3px;
		background: var(--on-dark);
		color: var(--dark);
		font-size: 10px;
		font-weight: 800;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.header--centerhead--inner__column3 { position: relative; }
}

/* ---------- Обране (♥ N) ---------- */
.fnc--favors--container {
	min-height: 35px;
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	padding: 0 6px;
	color: var(--on-dark-2);
}
.fnc--favors--container:hover { color: var(--on-dark); }
/* Перебиває вендорський background-image (heart.svg/favorite_red.svg) на
   самому .wrap — інакше він накладається на ::before-mask нижче (два
   різних сердечка одне на одному). */
.fnc--favors--container__wrap,
.fnc--favors--active {
	background-image: none !important;
}
.fnc--favors--container__wrap::before {
	content: '';
	display: inline-block;
	background-color: currentColor;
	-webkit-mask: var(--icon-heart) center / contain no-repeat;
	mask: var(--icon-heart) center / contain no-repeat;
	width: 20px;
	height: 20px;
	vertical-align: middle;
}
/* Перебиває старий вендорський бейдж (border-radius:100%, --5-text-color) —
   круглі кути глобально заборонені (рішення власника 20.09), а старі токени
   не пасують новій палітрі. Квадратний бейдж — той самий патерн, що
   .fnc--filters--badge (мобільний каталог). */
.fnc--favors--amount {
	position: absolute;
	top: -6px;
	left: auto;
	right: -8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 15px;
	height: 15px;
	padding: 0 3px;
	background: var(--accent);
	color: #fff;
	border: 0;
	font-size: 10px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.header--underhead__inner:empty { display: none; }
.header--underhead:has(.header--underhead__inner:empty) { display: none; }

/* ---------- 390px ---------- */
@media (max-width: 767px) {
	.header--centerhead__inner { justify-content: center; text-align: center; }
	.header--centerhead--inner__column1,
	.header--centerhead--inner__column3 { order: 3; flex-basis: 100%; justify-content: center; }
}

/* ---------- Мегаменю (functions/megaMenu.php, fnc--megamenu--*) ----------
   Кава = 2 колонки/900px, Чай = 4 колонки/1180px (ТЗ мегаменю §1, §3;
   еталон — "Головна 1440 і 390 (без слайдера, мегаменю).dc.html").
   Ширина панелі — по вмісту (width:auto), НЕ 100% смуги. */
.fnc--megamenu--container {
	display: none;
}
@media (min-width: 900px) {
	.fnc--megamenu {
		background: var(--dark-top);
	}
	.fnc--megamenu--container {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 4px;
		position: relative;
		max-width: 1620px;
		margin: 0 auto;
		padding: 0 26px;
	}
}

/* Пошук (functions/search.php) — правий край рядка мегаменю, за макетом */
.fnc--megamenu--search {
	display: none;
}
@media (min-width: 900px) {
	.fnc--megamenu--search {
		display: block;
		margin-left: auto;
		width: 280px;
		flex-shrink: 0;
	}
}
/* Пошук у навбарі (ч.1 §3.5): напівпрозоре поле з тонкою рамкою, кнопка з іконкою */
.fnc--megamenu--search .fnc--search__container { min-height: auto; }
.fnc--megamenu--search .fnc--search__field input,
.fnc--megamenu--search .fnc--search__button button { min-height: 32px; height: 32px; }
.fnc--megamenu--search .fnc--search__field input {
	background: rgba(248,244,238,.1);
	border: 1px solid rgba(211,224,222,.3);
	border-right: 0;
	color: var(--on-dark);
	font-size: 14px;
	padding: 0 12px;
}
.fnc--megamenu--search .fnc--search__field input::placeholder { color: var(--on-dark-3); }
.fnc--megamenu--search .fnc--search__field input:focus { border-color: var(--focus); }
.fnc--megamenu--search .fnc--search__button button { position: relative; width: 32px; min-width: 32px; padding: 0; font-size: 0; }
.fnc--megamenu--search .fnc--search__button button::before {
	content: '';
	position: absolute;
	inset: 8px;
	background-color: currentColor;
	-webkit-mask: var(--icon-search) center / contain no-repeat;
	mask: var(--icon-search) center / contain no-repeat;
}

/* Пункт верхнього рівня (ТЗ §3) */
.fnc--megamenu--category,
.fnc--megamenu--category__active {
	position: relative;
	cursor: pointer;
	flex-grow: 0;
	flex-direction: row;
	justify-content: flex-start;
	text-align: left;
	background: transparent;
}
.fnc--megamenu--category:hover {
	background: transparent;
}
.fnc--megamenu--category__link,
.fnc--megamenu--category__link__active {
	display: flex;
	align-items: baseline;
	gap: 7px;
	padding: 17px 20px 15px;
	color: var(--on-dark);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.01em;
	white-space: nowrap;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.fnc--megamenu--category__link__active,
.fnc--megamenu--category:hover > .fnc--megamenu--category__link,
.fnc--megamenu--category__active:hover > .fnc--megamenu--category__link__active {
	background: var(--panel);
	color: var(--ink);
	font-weight: 700;
	box-shadow: inset 0 -3px 0 var(--accent);
}
.fnc--megamenu--counter { font-size: 12px; opacity: .75; }

.fnc--megamenu--panel {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 6;
	width: max-content;
	background: var(--panel);
	border-bottom: 3px solid var(--accent);
	box-shadow: 0 20px 38px rgba(36,26,20,.16);
}
.fnc--megamenu--panel--coffee { max-width: 900px; }
.fnc--megamenu--panel--tea { max-width: 1180px; }
/* Перебиває старий вендорський рядок вище у файлі (.fnc--megamenu--submenu__inner
   { position:absolute }) — з ним єдиний нащадок .panel вибувається з
   потоку і панель схлопується у висоту рамки/паддінгів (~55px), вміст ховається. */
.fnc--megamenu--submenu__inner { position: static; }
/* Видимість панелі — ЛИШЕ через is-open (JS, top.php, затримки 120/100мс з
   ТЗ §5). display:none/block, НЕ opacity/visibility+transition — з transition
   на opacity/visibility (свій чи вендорський `div,...{transition:all .3s
   linear}`, рядок 33) ця панель ламає paint: DOM/CSS/is-open коректні,
   getComputedStyle каже visible, а вміст піксельно порожній, доки не
   зробити РЕАЛЬНИЙ display-toggle (перевірено в browser pane і в реальному
   Chrome). Панель з'являється миттєво, без fade — компроміс заради
   гарантованої видимості. */
.fnc--megamenu--panel.is-open {
	display: block;
}

.fnc--megamenu--submenu__row {
	display: flex;
	gap: 34px;
	padding: 24px;
	flex-wrap: wrap;
}
.fnc--megamenu--submenu__column {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 186px;
}

.fnc--megamenu--submenu__mainlink {
	padding: 0 10px 10px;
}
.fnc--megamenu--submenu__link {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent);
	white-space: nowrap;
	cursor: default;
}
.fnc--megamenu--submenu__link:hover {
	color: var(--accent);
	text-decoration: none;
}
.fnc--megamenu--submenu__mainsublink {
	padding: 0;
}
.fnc--megamenu--submenu__sublink {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	font-size: 16px;
	line-height: 1.4;
	color: #3A2D24;
	padding: 8px 10px;
	white-space: nowrap;
	box-shadow: inset 0 0 0 var(--accent);
	transition: box-shadow .22s ease, background .22s ease, color .18s ease;
}
.fnc--megamenu--submenu__sublink:hover,
.fnc--megamenu--submenu__sublink:focus-visible {
	background: var(--cream-deep);
	color: var(--ink);
	font-size: 16px;
	box-shadow: inset 3px 0 0 var(--accent);
	text-decoration: none;
}
.fnc--megamenu--submenu__count {
	font-size: 12px;
	color: var(--ink-muted);
	font-variant-numeric: tabular-nums;
}

/* Нижній рядок панелі (ТЗ §3, §19.1) */
.fnc--megamenu--submenu__foot {
	border-top: 1px solid var(--line);
	padding: 13px 24px 15px;
	display: flex;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
}
.fnc--megamenu--submenu__footlink {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	border-bottom: 2px solid var(--accent);
	text-decoration: none;
}
a.fnc--megamenu--submenu__footlink:hover { color: var(--accent); text-decoration: none; }
.fnc--megamenu--submenu__footnote { font-size: 13px; color: var(--ink-muted); }

/* мегаменю на мобільному не показуємо — тільки гамбургер-акордеон
   (каталог-акордеон на 390 — відкрите питання, HANDOFF §0) */
@media (max-width: 899px) {
	.fnc--megamenu--container { display: none !important; }
}

/* ---------- Мобільне меню (mobilemenuchapters / fnc--mobile--chapters) ---------- */
.mobilemenuchapters { background: var(--surface); }
.fnc--mobile--chapters__logo { padding: 16px; }
.fnc--mobile--chapters__item {
	min-height: 48px;
	display: flex;
	align-items: center;
	padding: 0 16px;
	font-size: 15px;
	border-bottom: 1px solid var(--line);
}
.fnc--mobile--chapters__item a { color: var(--ink); width: 100%; display: block; padding: 14px 0; }

/* =====================================================================
   5. КАРТКА ТОВАРУ В СІТЦІ (§5) — одна картка на головну й каталог.
   ===================================================================== */
.fnc--products--listVer {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 12px;
	padding: 16px;
}
@media (min-width: 768px) {
	.fnc--products--listVer { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; padding: 20px; }
}
@media (min-width: 1200px) {
	.fnc--products--listVer { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 20px; padding: 24px; }
}
/* каталог із сайдбаром фільтрів у лівій колонці — на 1440 4 колонки
   замість 5 (ч.3 §18.1); .content--center--inner__left існує
   в DOM, лише коли увімкнена ліва колонка (там і сидить fnc--filters) */
@media (min-width: 1200px) {
	.content--center--inner__left ~ .content--center--inner__center .fnc--products--listVer {
		grid-template-columns: repeat(4, minmax(0,1fr));
	}
}

.fnc--products--listitem,
.fnc--slider--listitem {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--line);
	position: relative;
	height: 100%;
	transition: border-color 160ms ease;
}
.fnc--products--listitem:hover,
.fnc--slider--listitem:hover { border-color: var(--ink); }
.fnc--products--listitem:hover .js__add--tocart,
.fnc--slider--listitem:hover .js__add--tocart {
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
}

.fnc--products--listitem__image,
.fnc--items--slider__image {
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--surface);
	padding: 14px;
	overflow: hidden;
	border-bottom: 1px solid var(--line-soft);
}
.fnc--products--listitem__image img,
.fnc--items--slider__image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: opacity 160ms ease;
}

.fnc--products--listitem__name,
.fnc--items--slider__name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ink);
	padding: 14px 15px 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fnc--products--listitem__name a,
.fnc--items--slider__name a { color: var(--ink); text-decoration: none; }
.fnc--products--listitem__name a:hover,
.fnc--items--slider__name a:hover { text-decoration: underline; }

/* Рейтинг і порівняння — не входять до складу картки за ТЗ §5 (лише
   назва/ноти/ціна/кнопка + ♥ на фото), приховано без видалення розмітки */
.fnc--products--listitem__votes,
.fnc--products--listitem__compare { display: none; }

.fnc--products--listitem__additional {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
}
.fnc--products--listitem__favor .js__favor__button {
	width: 34px;
	height: 34px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.92);
	border: 1px solid var(--line);
	color: var(--ink-muted);
	cursor: pointer;
	font-size: 0;
	transition: color 160ms ease, border-color 160ms ease;
}
.fnc--products--listitem__favor .js__favor__button::before {
	content: '';
	width: 17px;
	height: 17px;
	background-color: currentColor;
	-webkit-mask: var(--icon-heart) center / contain no-repeat;
	mask: var(--icon-heart) center / contain no-repeat;
}
.fnc--products--listitem__favor .favor--item__active {
	color: var(--accent);
	border-color: var(--accent);
}

.fnc--products--listitem__info { display: none; }

.fnc--products--listitem__shopinfo,
.fnc--products--slider__shopinfo {
	margin-top: auto;
	padding: 10px 15px 16px;
}
.fnc--products--listitem__price,
.fnc--products--slider__price {
	font-size: 22px;
	font-weight: 800;
	color: var(--ink);
}
.fnc--products--listitem__price span,
.fnc--products--slider__price span {
	font-size: 12px;
	font-weight: 600;
	color: var(--ink-muted);
}
.fnc--products--listitem__oldprice {
	font-size: 13px;
	color: var(--ink-faint);
	text-decoration: line-through;
	font-weight: 400;
	order: 2;
}
.fnc--products--listitem__actprice { color: var(--accent); order: 1; }
.fnc--products--listitem__price:has(.fnc--products--listitem__actprice) { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }

.fnc--products--listitem__buy .js__add--tocart,
.fnc--products--slider__buy .js__add--tocart,
.fnc--products--column__buy .js__add--tocart {
	width: 100%;
	min-height: 44px;
	background: transparent;
	color: var(--ink);
	border: 1px solid var(--ink);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	margin-top: 10px;
	padding: 12px;
}
.fnc--products--listitem__buy .js__add--tocart:hover,
.fnc--products--slider__buy .js__add--tocart:hover { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ---------- Бейджі (§5) — текст замість вендорських SVG-іконок ---------- */
/* Обгортка бейджа не має власного вмісту (лише абсолютні діти) — нульова
   ширина; картка .fnc--products--listitem (flex-колонка, align-items:center,
   вендорське) центрує її як звичайний flex-елемент, і бейдж летить у центр
   картки замість лівого краю. align-self+width повертають на місце. */
.fnc--products--listitem__icon { position: relative; z-index: 2; align-self: flex-start; width: 100%; }
.fnc--product--icon__action,
.fnc--product--icon__new,
.fnc--product--icon__top {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #fff;
	padding: 5px 9px;
	background-image: none !important;
	width: auto;
	height: auto;
}
.fnc--product--icon__action { background: var(--badge-sale); }
.fnc--product--icon__new { background: var(--badge-new); }
.fnc--product--icon__top { background: var(--ink-muted); }

/* ---------- Немає в наявності (§5, "Стани") ---------- */
.fnc--products--listitem--outofstock .fnc--products--listitem__image { opacity: .5; }
.fnc--product--icon__out {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
	padding: 5px 9px;
	background: var(--badge-out);
}
.fnc--products--listitem__outbutton {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--line-strong);
	color: var(--ink-muted);
	background: transparent;
	font-weight: 700;
	font-size: 13px;
	margin-top: 10px;
	padding: 12px;
	text-align: center;
}

/* ---------- Слайдери ---------- */
.js__slider--topitems__container,
.js__slider--newitems__container,
.js__slider--actitems__container,
.js__slider--lasitems__container {
	display: flex;
	gap: 16px;
}
.fnc--slider--item__left,
.fnc--slider--item__right {
	display: none;
}
@media (min-width: 768px) {
	.fnc--slider--item__left,
	.fnc--slider--item__right { display: flex; }
}

/* ---------- Футер (§4) — один компонент на всі сторінки ---------- */
/* стокове border-top: var(--3-text-color) — лишало синю смужку демо-теми */
.content--footer__inner {
	border-top: 1px solid rgba(211,224,222,.14);
}
.content--footer {
	background: var(--dark);
	color: var(--on-dark-2);
	padding: 0;
}
.fnc--footer--flex {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 20px 16px 0;
}
@media (min-width: 1024px) {
	.fnc--footer--flex {
		display: grid;
		grid-template-columns: minmax(0,1.4fr) repeat(3, minmax(0,1fr));
		gap: 34px;
		padding: 34px 26px 0;
	}
}

.fnc--footer--flex__column1 img { display: block; max-height: 34px; width: auto; margin-bottom: 12px; }
.fnc--footer--flex__phone a {
	display: block;
	font-size: 21px;
	font-weight: 700;
	color: var(--on-dark);
	font-variant-numeric: tabular-nums;
}
.fnc--footer--flex__hours { font-size: 13px; color: var(--on-dark-3); margin-top: 4px; }

/* details/summary — акордеон на мобільному без JS, розкритий на десктопі (§4) */
.fnc--footer--flex__column {
	border-bottom: 1px solid rgba(211,224,222,.22);
}
.fnc--footer--flex__title {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--on-dark);
	cursor: pointer;
}
.fnc--footer--flex__title::-webkit-details-marker { display: none; }
.fnc--footer--flex__title::after {
	content: '';
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask: var(--icon-chevron) center / contain no-repeat;
	mask: var(--icon-chevron) center / contain no-repeat;
	transition: transform 160ms ease;
}
.fnc--footer--flex__column[open] > .fnc--footer--flex__title::after { transform: rotate(180deg); }
.fnc--footer--flex__links { padding-bottom: 12px; }
.fnc--footer--flex__links a { display: block; color: var(--on-dark-2); font-size: 14px; line-height: 2; }
.fnc--footer--flex__links a:hover { color: var(--on-dark); }

@media (min-width: 1024px) {
	.fnc--footer--flex__column { border-bottom: none; }
	.fnc--footer--flex__title { min-height: 0; margin-bottom: 10px; cursor: default; pointer-events: none; }
	.fnc--footer--flex__title::after { display: none; }
	.fnc--footer--flex__links { padding-bottom: 0; }
}

.fnc--footer--flex__bottom {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 16px 26px;
	color: var(--on-dark-3);
	font-size: 13px;
	border-top: 1px solid rgba(211,224,222,.14);
	margin-top: 12px;
}
@media (min-width: 1024px) {
	.fnc--footer--flex__bottom {
		flex-direction: row;
		justify-content: space-between;
		padding: 20px 26px 26px;
		margin-top: 34px;
	}
}
.fnc--footer--flex__methods { font-variant-numeric: tabular-nums; }

/* ---------- Мобільна стрічка категорій (fnc--adaptive--category, getAdaptMenu) ---------- */
.fnc--adaptive--category {
	padding: 14px 16px;
	min-height: 48px;
	text-align: left;
	background: var(--dark-top);
	border-bottom: 1px solid rgba(211,224,222,.14);
}
.fnc--adaptive--category a,
.fnc--adaptive--category:hover a {
	color: var(--on-dark);
	font-size: 15px;
}

/* ---------- Кнопки загальні ---------- */
.js__add--tocart { border-radius: 0; }

/* =====================================================================
   6. КАТАЛОГ (§6)
   ===================================================================== */

/* ---------- 6.1 Заголовок і сортування ---------- */
.breads {
	background: transparent;
	padding: 12px 16px 0;
}
@media (min-width: 768px) { .breads { padding: 16px 26px 0; } }
.breads--inner__item a,
.breads--inner__item__active span { font-size: 13px; color: var(--ink-muted); }
.breads--inner__item a:hover { color: var(--ink); }
.breads--inner__item__active span { color: var(--ink); font-weight: 600; }
.breads--inner__item__separator { color: var(--ink-faint); font-size: 11px; }

.fnc--catalog--heading {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 16px 0;
}
@media (min-width: 768px) { .fnc--catalog--heading { padding: 16px 26px 0; } }
.fnc--catalog--heading__count { font-size: 15px; font-weight: 600; color: var(--ink-muted); }
@media (min-width: 768px) { .fnc--catalog--heading__count { font-size: 17px; } }

.fnc--itemshow--container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 12px 16px;
}
@media (min-width: 768px) { .fnc--itemshow--container { padding: 16px 26px; } }

.fnc--sorting { display: flex; align-items: center; gap: 8px; }
.fnc--sorting__title { font-size: 13px; color: var(--ink-muted); }
.js__sort--button {
	width: 220px;
	max-width: 100%;
	min-height: 44px;
	padding: 0 34px 0 12px;
	border: 1px solid var(--line-strong);
	background-color: var(--surface);
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241A14' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 15px;
}
.js__sort--button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- 6.2 Фільтри ---------- */
.fnc--filters--container {
	background: var(--panel);
	border: 1px solid var(--line);
}
.fnc--filters--title {
	padding: 14px 16px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	border-bottom: 1px solid var(--line);
}
.fnc--filters--item {
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
}
.fnc--filters--item__name {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--accent);
	margin-bottom: 6px;
}
.fnc--filters--item__inner {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 7px 0;
	min-height: 44px;
	font-size: 14px;
	cursor: pointer;
}
.fnc--filters--item__inner:hover { background: var(--cream-deep); }
.fnc--filters--item__inner--name { position: relative; flex-shrink: 0; }
.fnc--filters--item__inner--name input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 18px;
	height: 18px;
	margin: 0;
	cursor: pointer;
}
.label--filter--checkbox {
	display: block;
	width: 18px;
	height: 18px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
	position: relative;
}
.fnc--filters--item__inner--name input[type="checkbox"]:checked + .label--filter--checkbox {
	background: var(--ink);
	border-color: var(--ink);
}
.fnc--filters--item__inner--name input[type="checkbox"]:checked + .label--filter--checkbox::after {
	content: '';
	position: absolute;
	inset: 3px;
	background-color: #fff;
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}
.fnc--filters--item__inner--name input[type="checkbox"]:focus-visible + .label--filter--checkbox {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}
.fnc--filters--item__inner--name input[type="checkbox"]:checked ~ .fnc--filters--item__inner--param { font-weight: 700; }
.fnc--filters--item__inner--param { font-size: 14px; color: var(--ink-soft); }

.js__filter--select {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
}
.fnc--filter--slider { margin: 16px 4px 4px; }
/* jQuery UI slider (js/nespicms.js: .slider({range:true})) — вендорський jquery-ui.css
   не стилізований під тему, тому фільтр ціни/тексту рендерився "демо" віджетом. */
.fnc--filter--slider.ui-slider {
	height: 4px;
	background: var(--line);
	border: none;
	border-radius: 2px;
}
.fnc--filter--slider.ui-slider .ui-slider-range {
	background: var(--ink);
	border-radius: 2px;
}
.fnc--filter--slider.ui-slider .ui-slider-handle {
	width: 16px;
	height: 16px;
	top: 50%;
	margin-top: -8px;
	background: var(--surface);
	border: 2px solid var(--ink);
	cursor: pointer;
	outline: none;
}
.fnc--filter--slider .ui-slider-handle:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.fnc--filters--item__inner--slider input {
	width: 70px;
	min-height: 40px;
	border: 1px solid var(--line-strong);
	padding: 0 8px;
	text-align: center;
}
.fnc--filters--item__inner--slider { display: flex; align-items: center; gap: 8px; }
.filtercolumnseparator { border-top: 1px solid var(--line); margin: 8px 0; }

.fnc--filters--button { padding: 14px 16px; }
.js__clear--filters {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--line-strong);
	background: transparent;
	color: var(--ink-muted);
	font-weight: 700;
	cursor: pointer;
}
.js__clear--filters:hover { border-color: var(--ink); color: var(--ink); }

.mobile--show--filters {
	display: block;
	padding: 0 16px 12px;
}
.mobile--show--filters button {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--ink);
	background: transparent;
	font-weight: 700;
	cursor: pointer;
}
@media (min-width: 900px) {
	.mobile--show--filters { display: none; }
}

/* ---------- 6.3 Чіпи вибраного ---------- */
.fnc--chips {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding: 0 16px 12px;
	-webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
	.fnc--chips { padding: 0 26px 12px; flex-wrap: wrap; overflow: visible; }
}
.fnc--chips[hidden] { display: none; }
.fnc--chips__label { font-size: 13px; color: var(--ink-muted); flex-shrink: 0; }
.fnc--chips__item {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 8px 11px;
	background: var(--cream-deep);
	border: 1px solid var(--line);
	font-size: 13px;
	color: var(--ink);
	white-space: nowrap;
	flex-shrink: 0;
	cursor: pointer;
}
.fnc--chips__item::after {
	content: '';
	width: 12px;
	height: 12px;
	background-color: var(--ink-muted);
	-webkit-mask: var(--icon-close) center / contain no-repeat;
	mask: var(--icon-close) center / contain no-repeat;
	transition: background-color 160ms ease;
}
.fnc--chips__item:hover::after { background-color: var(--ink); }

/* ---------- 6.4 Пагінація ---------- */
.fnc--pagination {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 20px 16px;
	flex-wrap: wrap;
}
@media (min-width: 768px) { .fnc--pagination { padding: 24px 26px; } }
@media (max-width: 599px) { .fnc--pagination:not(.pagination--mobile) { display: none; } }
.fnc--paging--button,
.fnc--paging--button__now {
	min-width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	border: 1px solid var(--line);
	color: var(--ink-muted);
	cursor: pointer;
}
.fnc--paging--button:hover { border-color: var(--ink); color: var(--ink); }
.fnc--paging--gap { min-width: 16px; text-align: center; color: var(--ink-muted); }
@media (max-width: 599px) {
	.fnc--pagination { justify-content: center; }
	.fnc--paging--button,
	.fnc--paging--button__now { min-width: 44px; height: 44px; font-size: 15px; }
}
.fnc--more--button {
	width: 100%;
	min-height: 56px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--ink);
	color: var(--ink);
	font: inherit;
	cursor: pointer;
}
.fnc--more--button__label { font-size: 15px; font-weight: 700; }
.fnc--more--button__count { font-size: 12px; color: var(--ink-muted); }
.fnc--more--button:hover,
.fnc--more--button:focus-visible { background: var(--ink); color: #fff; }
.fnc--more--button:hover .fnc--more--button__count,
.fnc--more--button:focus-visible .fnc--more--button__count { color: rgba(255, 255, 255, .7); }
.fnc--paging--button__now {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
	font-weight: 700;
	cursor: default;
}

/* ---------- 6.5 Порожній результат ---------- */
.noitemsfound {
	padding: 40px 16px;
	text-align: center;
	max-width: 480px;
	margin: 0 auto;
}
.noitemsfound h3 { margin-bottom: 16px; }
.fnc--catalog--empty__reset {
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid var(--ink);
	background: transparent;
	font-weight: 700;
	cursor: pointer;
}
.fnc--catalog--empty__reset:hover { background: var(--accent); border-color: var(--accent); color: #fff; }

/* ---------- 6.6 Мобільний попап фільтрів ---------- */
.js__filters--popup { background: var(--surface); }
.js__filters--popup--close { border-bottom: 1px solid var(--line); }
.js__close--filters--popup {
	width: 100%;
	min-height: 56px;
	background: var(--accent);
	color: #fff;
	border: none;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	position: sticky;
	bottom: 0;
}

/* =====================================================================
   7. АРКУШ СТАНІВ (§7)
   ===================================================================== */

/* Фокус — однаковий для всіх елементів, :focus-visible (не :focus —
   інакше обвідка з'являлася б і при кліку мишею) */
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- Головна кнопка (CTA купівлі/оформлення) ---------- */
.js__add--tocart,
button[type="submit"],
input[type="submit"],
.js__order--submit,
.js__order--checkout,
.js__popup--quest--button,
.js__popup--order--call--button,
.js__popup--buy--button,
.js__login--submit--button,
.js__addcomment--item--button,
.js__registration--submit--button {
	min-height: 52px;
	padding: 0 20px;
	background: var(--accent);
	color: #fff;
	border: none;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.js__add--tocart:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.js__order--submit:hover,
.js__order--checkout:hover,
.js__popup--quest--button:hover,
.js__popup--order--call--button:hover,
.js__popup--buy--button:hover,
.js__login--submit--button:hover,
.js__addcomment--item--button:hover,
.js__registration--submit--button:hover { background: var(--accent-hover); }
.js__add--tocart:active,
button[type="submit"]:active,
input[type="submit"]:active,
.js__order--submit:active,
.js__order--checkout:active,
.js__popup--quest--button:active,
.js__popup--order--call--button:active,
.js__popup--buy--button:active,
.js__login--submit--button:active,
.js__addcomment--item--button:active,
.js__registration--submit--button:active { background: var(--accent-active); }
.js__add--tocart:disabled,
button[type="submit"]:disabled,
input[type="submit"]:disabled {
	background: var(--disabled-bg);
	color: var(--disabled-fg);
	cursor: default;
}

/* Кнопка карток каталогу лишається контурною й на hover заливається
   акцентом окремим правилом (§5) — тут не перекриваємо */
.fnc--products--listitem__buy .js__add--tocart,
.fnc--products--slider__buy .js__add--tocart,
.fnc--products--column__buy .js__add--tocart { min-height: 44px; }

/* ---------- Другорядна кнопка ---------- */
.fnc--footer--flex__title,
.js__clear--filters,
.fnc--catalog--empty__reset,
.mobile--show--filters button,
.fnc--cart--container:not(:has(.fnc--cart--container__quantity)) {
	min-height: 48px;
}

/* ---------- Поле введення ---------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea {
	min-height: 48px;
	padding: 13px 14px;
	font-size: 15px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
	color: var(--ink);
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder { color: var(--ink-faint); }

/* filled — розпізнаємо без JS через :placeholder-shown */
input[type="text"]:not(:placeholder-shown),
input[type="email"]:not(:placeholder-shown),
input[type="tel"]:not(:placeholder-shown),
input[type="password"]:not(:placeholder-shown),
textarea:not(:placeholder-shown) { border-color: var(--ink); }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
textarea:focus {
	border-width: 2px;
	border-color: var(--focus);
	padding: 12px 13px;
	outline: none;
}

input:disabled, textarea:disabled {
	border-color: var(--line);
	background: #F4EFE7;
	color: var(--disabled-fg);
}

/* Помилка — нативний клас рушія fail--input (js/nespicms.js), колір
   ніколи не єдина ознака: далі в CSS текст помилки не рендериться самим
   рушієм (немає готового слоту під повідомлення біля поля) — відкрите
   питання, потребує окремої JS-правки поза обсягом частини 1 */
.fail--input,
.fail--input input,
input.fail--input,
textarea.fail--input {
	border-color: var(--error) !important;
	background: var(--error-bg) !important;
}

label { font-size: 13px; font-weight: 700; color: var(--ink-soft); }

/* ---------- Попап кошика (js__body--popup.js__cart--popup) ---------- */
.js__body--popup {
	background: var(--surface);
	border: 1px solid var(--line);
}
.js__close--popup {
	border: 1px solid var(--ink);
	background: transparent;
	min-height: 48px;
	padding: 0 20px;
	font-weight: 700;
	cursor: pointer;
}
.js__close--popup:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.fnc--cartpopup--empty { padding: 20px; color: var(--ink-muted); }

/* ---------- Тап-зони ---------- */
button, a.button, input[type="submit"], input[type="checkbox"] + label { min-height: 44px; }

/* =========================================================================
   ЧАСТИНА 2 — картка товару, попапи, кошик, підтвердження, Опт, планшет.
   Структуру не міняємо (§11.3, §12), лише стилі + де прямо дозволено —
   мінімальна розмітка/JS поверх наявних класів рушія.
   ========================================================================= */

/* ---------- 11. Попап «додано в кошик» ---------- */
.js__body--popup.js__cart--popup { width: 900px; max-width: 94%; padding: 0; }
.fnc--login--popup--container { display: flex; flex-direction: column; }
.fnc--login--popup--container > .popup--container__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	padding: 0;
}
.fnc--login--popup--container > .popup--container__close .js__close--popup {
	width: 34px;
	height: 34px;
	min-height: 0;
	padding: 0;
	border: none;
	background: rgba(244,237,228,.15);
	color: var(--on-dark);
	margin: 14px;
}
.fnc--login--popup--container > .popup--container__close .js__close--popup:hover { background: var(--accent); }
/* попап кошика: ✕ — квадрат у рядку шапки таблиці в правому куті (загальні правила «чотирьох попапів» виносили його за край на -20px і клали на чорний фон) */
.js__cart--popup .fnc--login--popup--container > .popup--container__close { top: 0; right: 0; margin: 0; background: transparent; }
.js__cart--popup .fnc--login--popup--container > .popup--container__close .js__close--popup {
	width: 40px;
	height: 40px;
	margin: 0;
	border: none;
	background: transparent;
	color: var(--on-dark);
	font-size: 0;
	position: relative;
}
.js__cart--popup .fnc--login--popup--container > .popup--container__close .js__close--popup::before { inset: 6px; }
.js__cart--popup .fnc--login--popup--container > .popup--container__close .js__close--popup:hover { background: var(--accent); color: #fff; border: none; }
.js__cart--popup .fnc--cartlist--row__title td { height: 40px; padding-top: 0; padding-bottom: 0; }
.js__cart--popup .fnc--cartlist--cell__total__summ { white-space: nowrap; }
.js__cart--popup .fnc--cartlist--cell__total__summ::after { content: ' грн'; font-size: 14px; font-weight: 400; color: var(--ink-muted); }

.fnc--cartlist--section { order: 2; }
.fnc--cartlist--container { overflow-x: auto; }
.fnc--cartlist--container table { width: 100%; border-collapse: collapse; }
.fnc--cartlist--row__title {
	background: var(--dark);
}
.fnc--cartlist--row__title td {
	color: #9FD0C6;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 11px 14px;
	white-space: nowrap;
}
.fnc--cartlist--row td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--line-soft);
	vertical-align: middle;
}
.fnc--cartlist--cell__img { width: 64px; }
.fnc--cartlist--cell__img img.cartimg {
	width: 64px;
	height: 64px;
	object-fit: contain;
	background: var(--panel);
	border: 1px solid var(--line);
	padding: 4px;
}
.fnc--cartlist--cell__name { font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.fnc--cartlist--params__table { margin-top: 4px; }
.fnc--cartlist--params__table--name,
.fnc--cartlist--params__table--param { font-size: 13px; color: var(--ink-muted); font-weight: 400; padding-right: 6px; }
.fnc--cartlist--cell__price,
.fnc--cartlist--cell__amount { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fnc--cartlist--cell__price { font-size: 16px; }
.fnc--cartlist--cell__amount { font-size: 18px; font-weight: 800; }
.fnc--cartlist--cell__qnt input.js__cart--quantity--change {
	width: 64px;
	min-height: 44px;
	text-align: center;
	border: 1px solid var(--line-strong);
	padding: 0 6px;
}
.fnc--cartlist--cell__delete { width: 52px; text-align: center; }
.js__cart--delete {
	width: 30px;
	height: 30px;
	border: 1px solid var(--line);
	background: transparent;
	color: var(--ink-muted);
	cursor: pointer;
	font-size: 0;
	position: relative;
}
.js__cart--delete::before {
	content: '';
	position: absolute;
	inset: 7px;
	background-color: currentColor;
	-webkit-mask: var(--icon-close) center / contain no-repeat;
	mask: var(--icon-close) center / contain no-repeat;
}
.js__cart--delete:hover { border-color: var(--error); color: var(--error); }

.fnc--cartlist--row__total { background: var(--panel); color: var(--ink); }
.fnc--cartlist--cell__total__text { padding: 14px; font-size: 14px; color: var(--ink-muted); }
.fnc--cartlist--cell__total__summ { padding: 14px; text-align: right; font-size: 26px; font-weight: 800; font-variant-numeric: tabular-nums; }

.fnc--cartpopup--buttons {
	order: 3;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px 20px;
}
.fnc--cartpopup--continue button {
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--line-strong);
	background: transparent;
	color: var(--ink-muted);
	font-weight: 700;
	cursor: pointer;
}
.fnc--cartpopup--continue button:hover { border-color: var(--ink); color: var(--ink); }
.fnc--cartpopup--gotocart button {
	min-height: 52px;
	padding: 0 28px;
	border: none;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.fnc--cartpopup--gotocart button:hover { background: var(--accent-hover); }
.fnc--cartpopup--gotocart button::after { content: ' →'; }

@media (max-width: 767px) {
	.js__body--popup.js__cart--popup {
		width: 100%;
		max-width: 100%;
		left: 0;
		top: auto;
		bottom: 0;
		transform: none;
		max-height: 88vh;
		border-left: none;
		border-right: none;
		border-bottom: none;
	}
	.fnc--cartpopup--buttons { flex-direction: column-reverse; align-items: stretch; }
	.fnc--cartpopup--gotocart button { min-height: 52px; width: 100%; }
	.fnc--cartpopup--continue button { min-height: 48px; width: 100%; }
}

/* Попап кошика на мобільній: шторка знизу; таблиця → картки «фото | назва+параметри | ✕ / кількість | сума» (як на сторінці кошика),
   шапка таблиці не потрібна — її місце займає темна смужка з ✕ */
@media (max-width: 767px) {
	.js__body--popup.js__cart--popup { overflow-y: auto; }
	.js__cart--popup .fnc--login--popup--container > .popup--container__close {
		position: static;
		display: flex;
		justify-content: flex-end;
		height: 40px;
		background: var(--dark);
		flex: none;
	}
	.js__cart--popup .fnc--cartlist--row__title { display: none; }
	.js__cart--popup .fnc--cartlist--container { overflow: visible; }
	.js__cart--popup .fnc--cartlist--container table,
	.js__cart--popup .fnc--cartlist--container tbody { display: block; width: 100%; padding: 0; }
	.js__cart--popup .fnc--cartlist--container tr.fnc--cartlist--row {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-areas: "img name del" "img qty amount";
		gap: 8px 12px;
		align-items: center;
		padding: 14px 16px;
		background: transparent;
		border-bottom: 1px solid var(--line);
	}
	.js__cart--popup .fnc--cartlist--container tr.fnc--cartlist--row > td { display: block; padding: 0; border: 0; width: auto; text-align: left; }
	.js__cart--popup .fnc--cartlist--cell__img { grid-area: img; align-self: start; }
	.js__cart--popup .fnc--cartlist--cell__img img.cartimg { width: 64px; height: 64px; }
	.js__cart--popup .fnc--cartlist--cell__name { grid-area: name; font-size: 15px; line-height: 1.3; }
	.js__cart--popup .fnc--cartlist--cell__qnt { grid-area: qty; }
	.js__cart--popup .fnc--cartlist--cell__amount { grid-area: amount; text-align: right; font-size: 18px; white-space: nowrap; }
	.js__cart--popup .fnc--cartlist--cell__amount::after { content: ' грн'; font-size: 12px; font-weight: 400; color: var(--ink-muted); }
	.js__cart--popup .fnc--cartlist--cell__delete { grid-area: del; align-self: start; }
	.js__cart--popup .fnc--cartlist--container tr.fnc--cartlist--row > td.fnc--cartlist--cell__code,
	.js__cart--popup .fnc--cartlist--container tr.fnc--cartlist--row > td.fnc--cartlist--cell__price { display: none; }
	.js__cart--popup .fnc--cartlist--cell__qnt input.js__cart--quantity--change { width: 72px; min-height: 44px; font-size: 16px; }
	/* параметри одним рядком тексту: «Вага кави: 1000 гр. Тип кави: зерновий» */
	.js__cart--popup .fnc--cartlist--params__table,
	.js__cart--popup .fnc--cartlist--params__table tbody,
	.js__cart--popup .fnc--cartlist--params__table tr { display: block; }
	.js__cart--popup .fnc--cartlist--params__table td { display: inline; padding: 0 !important; font-size: 12px; font-weight: 400; }
	.js__cart--popup .fnc--cartlist--params__table--name { color: var(--ink-muted); white-space: nowrap; }
	.js__cart--popup .fnc--cartlist--params__table td.fnc--cartlist--params__table--param { padding-left: 4px !important; color: var(--ink); }
	.js__cart--popup .js__cart--delete { width: 44px; height: 44px; min-height: 0; border: 0; }
	.js__cart--popup .js__cart--delete::before { inset: 13px; }
	.js__cart--popup .fnc--cartlist--row__total {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px;
	}
	.js__cart--popup .fnc--cartlist--row__total > td { display: block; padding: 0; width: auto; }
	.js__cart--popup .fnc--cartlist--cell__total__summ { font-size: 24px; }
}

/* ---------- 12. Кошик (сторінка) ----------
   §12 дозволяє 3 структурні зміни всередині наявної розмітки (не нова
   розмітка "з нуля"): підсумок+кнопка в один блок, промокод — туди ж.
   Реалізовано в themes/truecoffee/truecoffee.js: реальні <tr> "Разом"
   і "промокод" (з тими самими класами/id, які пише нативний JS) та
   кнопка js__order--checkout ПЕРЕНОСЯТЬСЯ (не клонуються) у .cart--summary,
   щоб усі наявні обробники nespicms.js лишились робочими. CSS нижче
   стилізує їх уже на нових місцях. */
.cart--summary {
	background: var(--panel);
	border: 1px solid var(--line);
	padding: 24px;
	align-self: start;
}
.cart--summary__title { font-family: var(--font-serif); font-weight: 600; font-size: 22px; margin: 0 0 14px; }
.cart--summary table { width: 100%; border-collapse: collapse; display: block; }
.cart--summary tr { display: flex; align-items: center; }
.cart--summary td { border: none; padding: 0; }
.cart--summary .cart--row--promocode .fnc--cartlist--cell__code,
.cart--summary .cart--row--promocode .fnc--cartlist--cell__img,
.cart--summary .cart--row--promocode .fnc--cartlist--cell__qnt,
.cart--summary .cart--row--promocode .fnc--cartlist--cell__price,
.cart--summary .cart--row--promocode .fnc--cartlist--cell__delete,
.cart--summary .fnc--cartlist--row__total .fnc--cartlist--cell__delete { display: none; }
.cart--summary .cart--row--promocode .fnc--cartlist--cell__name { flex: 1; }
.cart--summary .js__bonus--code--letter {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--line-strong);
	padding: 0 12px;
	background: var(--surface);
}
.cart--summary .js__cartcode--amount { color: var(--success); font-weight: 700; text-align: right; white-space: nowrap; margin-left: 8px; }
.cart--summary .fnc--cartlist--row__total {
	border-top: 1px solid var(--line);
	padding-top: 14px;
	margin-top: 4px;
	justify-content: space-between;
}
.cart--summary .fnc--cartlist--cell__total__text { font-size: 15px; font-weight: 700; color: var(--ink); }
.cart--summary .fnc--cartlist--cell__total__summ { font-size: 32px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.cart--summary .js__order--checkout {
	width: 100%;
	min-height: 58px;
	margin-top: 16px;
}
.cart--summary__legal { font-size: 12px; color: var(--ink-muted); margin-top: 10px; }
.cart--summary__roast {
	background: var(--surface);
	border: 1px solid var(--line);
	padding: 14px 16px;
	margin-top: 16px;
	font-size: 13px;
	color: var(--ink-soft);
	line-height: 1.6;
}
.cart--summary__roast strong { color: var(--ink); }

.content--center--page--cart .fnc--cartlist--cell__code { display: none; }
.fnc--cartlist--cell__code--under { font-size: 12px; color: var(--ink-muted); margin-top: 3px; }
.content--center--page--cart .cart--page--checkout:empty { display: none; }
.content--center--page--cart .fnc--cartlist--cell__qnt input.js__cart--quantity--change { width: 56px; min-height: 42px; }

.cart--page--title { font-family: var(--font-serif); font-weight: 600; font-size: 22px; margin: 20px 0 14px; }
.cart--page--inner__line { margin-bottom: 4px; }
.cart--page--inner--block__name { font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-bottom: 6px; }
.cart--page--inner--block__name .star { color: var(--accent); }
.cart--page--inner--block__param input,
.cart--page--inner--block__param select,
.cart--page--inner--block__param textarea {
	width: 100%;
	min-height: 48px;
	padding: 13px 14px;
	font-size: 15px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
}
.cart--page--inner--block__param textarea { min-height: 84px; }

.cart--page--payment__line {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	border: 1px solid var(--line-strong);
	padding: 14px 16px;
	margin-bottom: 10px;
	cursor: pointer;
}
.cart--page--payment__line:has(input:checked) { border: 2px solid var(--ink); }
.cart--page--payment__line--left input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	min-width: 18px;
	max-width: 18px;
	height: 18px;
	min-height: 18px;
	max-height: 18px;
	padding: 0;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	margin: 2px 0 0;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}
.cart--page--payment__line--left input[type="radio"]:checked {
	border: 5px solid var(--ink);
}
.cart--page--payment__line--right button {
	background: none;
	border: none;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	cursor: pointer;
	text-align: left;
}

.cart--page--checkout { display: none; }
@media (max-width: 1023px) {
	.cart--page--checkout { display: block; margin: 20px 0; }
	.cart--page--checkout .js__order--checkout { width: 100%; min-height: 58px; }
}

/* ---------- 13. Підтвердження замовлення ---------- */
.fnc--payment--success {
	background: var(--dark);
	color: var(--on-dark-2);
	padding: 26px 20px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
@media (min-width: 768px) { .fnc--payment--success { padding: 34px 26px; } }
.fnc--payment--success__icon {
	flex-shrink: 0;
	width: 54px;
	height: 54px;
	border: 2px solid #7FB894;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #7FB894;
	font-size: 26px;
	font-weight: 700;
}
.fnc--payment--title {
	font-family: var(--font-serif);
	font-weight: 700;
	color: var(--on-dark);
	font-size: 26px;
	line-height: 1.2;
}
@media (min-width: 768px) { .fnc--payment--title { font-size: 34px; } }
.fnc--payment--success__lead { font-size: 16px; margin-top: 10px; max-width: 60ch; }
.fnc--payment--success__lead strong { color: var(--on-dark); font-variant-numeric: tabular-nums; }
.fnc--payment--success__sub { font-size: 13px; color: var(--on-dark-3); margin-top: 8px; }

.fnc--payment--grid { display: block; padding: 0 16px; }
@media (min-width: 768px) { .fnc--payment--grid { padding: 0 26px; } }
@media (min-width: 1024px) {
	.fnc--payment--grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 30px; align-items: start; }
}
.fnc--payment--main { padding: 20px 0; }
.fnc--payment--main .fnc--cartlist--container { border: 1px solid var(--line); }
.fnc--payment--main .fnc--cartlist--row__total { background: var(--ink); }
.fnc--payment--main .fnc--cartlist--cell__total__text { color: var(--on-dark-2); font-weight: 700; padding: 14px; }
.fnc--payment--main .fnc--cartlist--cell__total__summ { color: var(--on-dark); font-size: 26px; font-weight: 800; padding: 14px; text-align: right; font-variant-numeric: tabular-nums; }
.fnc--payment--main .cart--row--delivery td,
.fnc--payment--main .cart--row--bonuses td { background: #FDFBF8; }

.fnc--payment--next { margin-top: 26px; }
.fnc--payment--next__row {
	display: grid;
	grid-template-columns: 112px minmax(0,1fr);
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--line-soft);
}
.fnc--payment--next__row:last-child { border-bottom: none; }
.fnc--payment--next__date { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.fnc--payment--next__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }

.fnc--payment--aside { display: flex; flex-direction: column; gap: 16px; padding: 20px 0; }
.fnc--payment--aside__box { padding: 20px; }
.fnc--payment--aside__help,
.fnc--payment--aside__wait { background: var(--panel); border: 1px solid var(--line); }
.fnc--payment--aside__wait { background: var(--dark); color: var(--on-dark-2); border: none; }
.fnc--payment--aside__done { background: var(--surface); border: 1px solid var(--line); }
.fnc--payment--aside__title { font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.fnc--payment--aside__phone { display: block; font-size: 20px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.fnc--payment--aside__wait .fnc--payment--aside__title { color: var(--on-dark); }
.fnc--payment--aside__hours { font-size: 13px; color: var(--ink-muted); margin: 2px 0 10px; }
.fnc--payment--aside__note { font-size: 13px; color: var(--ink-muted); }
.fnc--payment--aside__wait .fnc--payment--aside__note { color: var(--on-dark-3); }
.fnc--payment--aside__link { display: inline-block; margin-top: 8px; font-weight: 700; }

/* ---------- 10. Картка товару (PDP) ---------- */
.itempage--columns {
	display: flex;
	flex-direction: column;
	gap: 26px;
	position: relative;
}
@media (min-width: 1200px) {
	.itempage--columns { flex-direction: row; align-items: flex-start; }
	/* вендорський max-width:405px стискав колонку, а фото (height:450 + aspect-ratio) лишалось 450px і наїжджало на текст */
	.itempage--left--column { flex: 0 0 540px; max-width: 540px; }
	.itempage--item--image { width: 100%; height: auto; }
	.itempage--center--column { flex: 1; min-width: 0; }
	.itempage--right--column:not(:has(*)) { display: none; }
}

.itempage--overblock__name h1,
.itempage--center--name h1 { margin: 0; }
.itempage--overblock__code,
.itempage--center--code { font-size: 13px; color: var(--ink-muted); margin-top: 6px; font-variant-numeric: tabular-nums; }

/* ≤600: колонки картки в один стовпець — вирівнюємо галерею з правою колонкою (обидві з відступом 5px) і не даємо вмісту розпирати колонку (на 320 вона виходила за контейнер на 8px) */
.itempage--center--column { min-width: 0; }
@media (max-width: 600px) {
	.itempage--left--column { padding: 0 5px; box-sizing: border-box; }
}
@media (max-width: 360px) {
	.itempage--tabs--buttons { gap: 8px 16px; }
	.itempage--tabs--button__inner,
	.itempage--tabs--button__inner--active { font-size: 15px; }
}

/* Галерея */
.itempage--item--image {
	position: relative;
	aspect-ratio: 1;
	background: var(--surface);
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.itempage--item--image img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; }
.itempage--item--image__icons { position: absolute; top: 0; left: 0; z-index: 2; }
.productin_topitem {
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 7px 11px;
}
.itempage--item--image .itempage--center--favor {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
}
.itempage--item--image .itempage--center--favor button {
	width: 44px;
	height: 44px;
	min-height: 0;
	padding: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	color: var(--ink-muted);
	cursor: pointer;
	font-size: 0;
	position: relative;
}
.itempage--item--image .itempage--center--favor button:hover { border-color: var(--accent); color: var(--accent); }
.itempage--item--image .itempage--center--favor button::before {
	content: '';
	position: absolute;
	inset: 12px;
	background-color: currentColor;
	-webkit-mask: var(--icon-heart) center / contain no-repeat;
	mask: var(--icon-heart) center / contain no-repeat;
}
/* в обраному — серце залите кольором акценту (як кнопка й бейдж) */
.itempage--item--image .itempage--center--favor button.favor--item__active,
.itempage--item--image .itempage--center--favor button.favor--item__active:hover { color: var(--accent); border-color: var(--accent); }
.itempage--item--image .itempage--center--favor button.favor--item__active::before {
	-webkit-mask: var(--icon-heart-fill) center / contain no-repeat;
	mask: var(--icon-heart-fill) center / contain no-repeat;
}

/* мініатюри: 4 колонки на ширину фото, стрілки (лише коли фото > 4) накладаються по краях */
.fnc--small--images__wrap { position: relative; margin-top: 12px; }
.fnc--small--images__center { overflow: hidden; }
.fnc--small--images--inner { display: flex; gap: 12px; justify-content: flex-start !important; }
.fnc--small--images--listitem { flex: 0 0 calc(25% - 9px); }
.fnc--small--images--listitem__main { display: block; margin: 0; width: 100% !important; height: auto; }
.fnc--small--images--listitem__main:hover { box-shadow: none; }
.fnc--small--images--listitem__main:hover .fnc--small-image--button { border-color: var(--ink-muted); }
.fnc--small--images__left,
.fnc--small--images__right { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.fnc--small--images__left { left: 0; }
.fnc--small--images__right { right: 0; }
/* до 4 фото — без стрілок, ряд на всю ширину (вендорський images.js рахує max-width/margin під слайдер) */
.fnc--small--images__wrap:not(:has(.fnc--small--images--listitem:nth-child(5))) .fnc--small--images__left,
.fnc--small--images__wrap:not(:has(.fnc--small--images--listitem:nth-child(5))) .fnc--small--images__right { display: none; }
.fnc--small--images__wrap:not(:has(.fnc--small--images--listitem:nth-child(5))) .js__small--images--container { max-width: none !important; margin: 0 !important; }
.fnc--small-image--button {
	aspect-ratio: 1;
	background: var(--surface);
	border: 1px solid var(--line);
	padding: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fnc--small-image--button img { max-width: 100%; max-height: 100%; object-fit: contain; }
.js__small--image--item.active .fnc--small-image--button,
.fnc--small--images--listitem.active .fnc--small-image--button { border: 2px solid var(--ink); }
.js__small--image--item--left,
.js__small--image--item--right {
	min-height: 36px;
	width: 36px;
	border: 1px solid var(--line-strong);
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}

/* Статус/рейтинг */
.itempage--center--rate { display: none; }
.itempage--center--status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--success);
}
.itempage--center--status::before {
	content: '';
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}
.itempage--center--status__out { color: var(--ink-faint); }
.itempage--center--status__out::before { display: none; }
/* надрядок над H1 — «Країна · Сорт · Обсмажка» з характеристик */
.itempage--center--meta {
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin-bottom: 8px;
}
.itempage--center--statusrow { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-size: 14px; margin: 10px 0 0; }
.itempage--center--statusrow .itempage--center--code { margin: 0; font-size: 14px; color: var(--ink-muted); }

/* Атрибути (фасування/тип) — toggle-рядки замість dropdown */
.itempage--center--options { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 360px)); gap: 14px 16px; margin: 0; padding: 0; border: 0; }
.itempage--center--options > :not(.itempage--center--field) { grid-column: 1 / -1; }
.itempage--center--option--name { font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-bottom: 6px; }
.itempage--center--checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px,1fr)); gap: 10px; margin-bottom: 16px; }
.itempage--center--check {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 15px 18px;
	border: 1px solid var(--line-strong);
	cursor: pointer;
	background: var(--surface);
}
.itempage--center--check:has(input:checked) { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.itempage--center--option--checkbox { display: none; }
.itempage--center--option--nameinner { font-size: 17px; font-weight: 700; }

/* Блок покупки — одна рамка: фасування → ціна → [− N +] [До кошика] [Купити в 1 клік] */
.itempage--buybox {
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: var(--panel);
	border: 1px solid var(--line);
	padding: 22px;
	margin-top: 20px;
}
.itempage--center--field { display: flex; flex-direction: column; gap: 8px; }
.itempage--center--label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--accent); }
.itempage--center--select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 360px;
	min-height: 52px;
	padding: 0 48px 0 16px;
	font: 600 16px/1.2 var(--font-text);
	color: var(--ink);
	background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%23241A14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center;
	border: 1px solid var(--line-strong);
	border-radius: 0;
	cursor: pointer;
}
.itempage--center--select:hover { border-color: var(--ink-muted); }
.itempage--center--select:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(176,80,60,.18); }

/* Ціна */
.itempage--center--prices {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	line-height: 1;
	letter-spacing: -.01em;
}
.itempage--product__actprice,
.itempage--center--prices { font-size: 40px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }
@media (min-width: 768px) { .itempage--product__actprice, .itempage--center--prices { font-size: 46px; } }
.itempage--product__oldprice { font-size: 17px; color: var(--ink-faint); text-decoration: line-through; font-weight: 400; letter-spacing: 0; order: 2; }
.itempage--center--prices span { font-size: 16px; font-weight: 600; color: var(--ink-muted); letter-spacing: 0; }
.itempage--product__oldprice span { font-size: inherit; font-weight: inherit; color: inherit; }

.itempage--center--buyinfo {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}
.itempage--center--buttons { display: contents; }
.itempage--center--quantity { display: flex; flex: 0 0 auto; width: auto; padding: 0; height: 56px; background: var(--surface); border: 1px solid var(--line-strong); }
.itempage--quantity__btn {
	width: 46px;
	min-height: 0;
	height: 100%;
	padding: 0;
	background: transparent;
	border: none;
	color: var(--ink);
	font-size: 20px;
	cursor: pointer;
}
.itempage--quantity__btn:hover { background: var(--panel); }
.itempage--center--quantity input {
	width: 50px;
	min-width: 50px;
	height: 100%;
	min-height: 0;
	padding: 0;
	text-align: center;
	border: none;
	border-left: 1px solid var(--line);
	border-right: 1px solid var(--line);
	border-radius: 0;
	font-size: 18px;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}
.itempage--center--quantity input::-webkit-outer-spin-button,
.itempage--center--quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.itempage--center--buybutton,
.itempage--center--oneclick { flex: 1 1 180px; min-width: 0; display: flex; padding: 0; }
.itempage--center--buybutton button,
.itempage--center--oneclick button { width: 100%; height: 56px; min-height: 56px; padding: 0 24px; border-radius: 0; font-size: 16px; font-weight: 700; text-transform: none; }
.itempage--center--oneclick button {
	padding: 0 24px;
	background: transparent;
	border: 1px solid var(--ink-muted);
	color: var(--ink);
	text-decoration: none;
	cursor: pointer;
}
.itempage--center--oneclick button:hover { background: var(--ink); color: #fff; text-decoration: none; }
.itempage--center--compare { display: none; }

/* «Задати питання»: у рядку табів (від 768), у блоці покупки текстовим посиланням (мобільна) */
.itempage--tabs--ask,
.itempage--buybox__ask {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	padding: 0;
	color: var(--accent);
	font-weight: 700;
	cursor: pointer;
}
.itempage--tabs--ask::before,
.itempage--buybox__ask::before {
	content: '';
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--icon-chat) center / contain no-repeat;
	mask: var(--icon-chat) center / contain no-repeat;
}
.itempage--tabs--ask { margin-left: auto; padding-bottom: 12px; font-size: 15px; }
.itempage--tabs--ask::before { width: 18px; height: 18px; }
.itempage--buybox__ask { display: none; align-self: center; min-height: 44px; font-size: 14px; }
@media (max-width: 767px) {
	.itempage--tabs--ask { display: none; }
	.itempage--buybox__ask { display: inline-flex; }
}

.itempage--delivery--cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px,1fr));
	gap: 10px;
	margin-top: 16px;
}
.itempage--delivery--card { background: var(--surface); border: 1px solid var(--line); padding: 14px 16px; }
.itempage--delivery--card__title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.itempage--delivery--card__text { font-size: 13px; color: var(--ink-muted); }

/* Таби */
/* вендорські padding:10px у .itempage--tabs і margin/height у рядку табів виводили його за межі колонки (упиралось у правий край) */
.itempage--tabs { margin-top: 34px; padding: 0 15px; box-sizing: border-box; min-width: 0; }
.itempage--tabs--buttons { display: flex; align-items: flex-end; gap: 32px; margin: 0; height: auto; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.itempage--tabs--button__inner,
.itempage--tabs--button__inner--active {
	display: block;
	padding: 0 0 12px;
	font-size: 18px;
	font-weight: 400;
	color: var(--ink-muted);
	cursor: pointer;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}
.itempage--tabs--button__inner--active { color: var(--ink); border-bottom-color: var(--accent); font-weight: 700; }
/* вендорські ≤600: таби колонкою по 100% — лишаємо рядком */
@media (max-width: 600px) {
	.itempage--tabs--buttons { flex-direction: row; align-items: flex-end; gap: 12px 20px; }
	.itempage--tabs--button { width: auto; }
	.itempage--tabs--button__inner,
	.itempage--tabs--button__inner--active { width: auto; padding: 0 0 12px; font-size: 16px; }
}
.itempage--tab--info,
.itempage--info--tab--info { padding: 24px 0; }
.itempage--tab--info__text { max-width: 70ch; font-size: 16px; line-height: 1.65; color: var(--ink-soft); }
.itempage--info--tab--info .no--info--find { font-size: 15px; color: var(--ink-muted); }
.itempage--review--open {
	min-height: 44px;
	margin-top: 12px;
	padding: 0 18px;
	background: transparent;
	border: 1px solid var(--ink-muted);
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.itempage--review--open:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.fnc--addcomment--collapsed { display: none; }
.itempage--center--info { margin: 4px 0 0; max-width: 60ch; font-size: 16px; line-height: 1.6; color: var(--ink-soft); overflow-wrap: anywhere; }
.itempage--center--info p { margin: 0 0 6px; }
.itempage--tabs--count { margin-left: 4px; font-size: 12px; font-weight: 600; color: var(--ink-faint); }
/* Шаблон текстів товарів під кнопками купівлі (адмінка → шаблони, rightTemplate): кожен абзац — плитка,
   <strong> у ньому — заголовок плитки. Так вигляд переживає візуальний редактор. */
.itempage--template { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-top: 16px; }
.itempage--template > p { margin: 0; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); font-size: 13px; line-height: 1.5; color: var(--ink-muted); }
.itempage--template > p strong { display: block; margin-bottom: 4px; font-size: 15px; color: var(--ink); }
.itempage--template > p:empty { display: none; }
/* textRight товару — текст під плитками */
.itempage--advantages { margin-top: 16px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.itempage--advantages h3 { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: var(--ink); }
.itempage--advantages p { margin: 0 0 4px; }
.itempage--tab--info__text h1, .itempage--tab--info__text h2, .itempage--tab--info__text h3 { font-size: 20px; line-height: 1.3; margin: 0 0 12px; }
/* макет: галерея зліва на всю висоту, справа — інформація і таби */
@media (min-width: 1200px) {
	.content--item--page { display: grid; grid-template-columns: 540px minmax(0, 1fr); column-gap: 26px; align-items: start; }
	.itempage--columns { display: contents; }
	.itempage--left--column { grid-column: 1; grid-row: 1 / span 3; }
	.itempage--center--column { grid-column: 2; grid-row: 1; }
	.itempage--tabs { grid-column: 2; grid-row: 2; }
	.itempage--actpocket--container { grid-column: 1 / -1; grid-row: 4; }
}
/* характеристики: 2 колонки, рядок «назва … значення» */
.item--page--chars--container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
@media (max-width: 767px) { .item--page--chars--container { grid-template-columns: 1fr; } }
.item--page--chars__row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; background: none; }
.item--page--chars__row:nth-child(odd) { background: none; }
.item--page--chars__row--name { flex: 0 1 auto; padding: 0; color: var(--ink-muted); }
.item--page--chars__row--text { flex: 0 1 auto; padding: 0; font-weight: 700; text-align: right; }

@media (max-width: 389px) {
	.itempage--sticky--buybar {
		box-sizing: border-box;
		display: none;
		position: sticky;
		bottom: 0;
		z-index: 50;
		background: var(--ink);
		padding: 9px 12px calc(12px + env(safe-area-inset-bottom));
		box-shadow: 0 -8px 20px rgba(36,26,20,.18);
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}
	.itempage--sticky--buybar--visible { display: flex; }
	.itempage--sticky--buybar__info { display: flex; flex-direction: column; min-width: 0; color: #A2958A; font-size: 11px; }
	.itempage--sticky--buybar__price { color: var(--on-dark); font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
	.itempage--sticky--buybar__button {
		min-height: 48px;
		padding: 0 20px;
		background: var(--accent);
		color: #fff;
		border: none;
		font-weight: 700;
		flex-shrink: 0;
	}
}
@media (min-width: 390px) { .itempage--sticky--buybar { display: none !important; } }

/* ---------- 17. Планшет 768-1024 (ретрофіт по всій темі) ---------- */
@media (min-width: 768px) and (max-width: 1199px) {
	.fnc--products--listVer { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.content--center--inner__left ~ .content--center--inner__center .fnc--products--listVer { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.mobile--show--filters { display: block !important; }
	.header--centerhead__inner,
	.header--overhead__inner { flex-wrap: wrap; }
	.menu--chapters { display: none !important; }
	.menu--chapters--mobile { display: flex !important; }
	.fnc--chips { flex-wrap: nowrap; overflow-x: auto; }
	.itempage--left--column { flex: none; width: 100%; }
	.itempage--item--image { max-width: 640px; margin: 0 auto; }
}
@media (min-width: 900px) and (max-width: 1199px) {
	.mobile--show--filters { display: none !important; }
	.fnc--megamenu--container { display: none !important; }
}

/* ---------- 14. Чотири попапи — один компонент ---------- */
.popup--container__main,
.popup--callme--container > .popup--container__main { padding-bottom: 4px; }
.popup--container__close { display: flex; justify-content: flex-end; margin: -20px -20px 12px; background: var(--ink); }
.popup--container__close .js__close--popup {
	width: 32px;
	height: 32px;
	min-height: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--on-dark);
	font-size: 0;
	position: relative;
	margin: 10px;
}
.popup--container__close .js__close--popup::before {
	content: '';
	position: absolute;
	inset: 8px;
	background-color: currentColor;
	-webkit-mask: var(--icon-close) center / contain no-repeat;
	mask: var(--icon-close) center / contain no-repeat;
}
.popup--container__title {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 20px;
	color: var(--ink);
	margin: -12px 0 14px;
	padding: 0 4px;
}
.popup--container--iteminfo { display: flex; gap: 12px; align-items: center; padding: 12px; background: var(--panel); margin-bottom: 14px; }
.popup--container--iteminfo__image img { width: 48px; height: 48px; object-fit: contain; }
.popup--container--iteminfo__name { font-size: 14px; font-weight: 600; }
.popup--container--iteminfo__code { font-size: 12px; color: var(--ink-muted); margin-top: 2px; }
.popup--container__line { margin-bottom: 14px; }
.popup--container--line__inner input,
.popup--container--line__inner textarea,
.popup--container--line__inner select {
	width: 100%;
	min-height: 48px;
	padding: 13px 14px;
	font-size: 15px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
}
.popup--container__button button { width: 100%; min-height: 52px; }
.popup--container__main::after {
	content: 'Ми не передаємо ваші дані третім особам.';
	display: block;
	font-size: 12px;
	color: var(--ink-muted);
	margin-top: 10px;
	text-align: center;
}
/* Стан "надіслано" (answerPopup.php, popup--container) — та сама галочка */
.popup--container .popup--container__title { display: flex; align-items: center; gap: 10px; }
.popup--container .popup--container__title::before {
	content: '';
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	background-color: #7FB894;
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}

/* ---------- 15. Категорія «Опт» ---------- */
.fnc--wholesale--strip {
	background: var(--dark);
	color: var(--on-dark-2);
	padding: 20px 16px;
	margin: 16px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
@media (min-width: 768px) {
	.fnc--wholesale--strip { flex-direction: row; align-items: center; justify-content: space-between; padding: 20px 26px; }
}
.fnc--wholesale--strip__row { display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; }
.fnc--wholesale--strip__item { position: relative; padding-left: 18px; }
.fnc--wholesale--strip__item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 12px;
	background-color: var(--focus);
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}
.fnc--wholesale--strip__buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.fnc--wholesale--strip__buttons button {
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid rgba(244,237,228,.4);
	background: transparent;
	color: var(--on-dark);
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
}
.fnc--wholesale--strip__buttons button:hover { background: var(--accent); border-color: var(--accent); }

/* ---------- 16. Картка чаю — приховуємо порожні блоки (страховка) ---------- */
.item--page--chars__row:empty,
.itempage--center--options:empty,
.itempage--delivery--cards:empty { display: none; }

/* ---------- 18. Блог (ч.3 §22, блок 4 MAKEUP_PLAN) ---------- */

/* Розкладка: сайдбар 296px + контент (для каталогу — 18a нижче). 390 — сайдбар під списком (order),
   768+ — грід ліворуч. Скоуп .blog/.textpage — щоб не займати спільні
   .content--center--inner__left/__center на сторінках каталогу (сайдбар
   фільтрів, вже звірено в блоці 0). addClass='blog'/'textpage' —
   post_etl.php кроки 22/23. */
.content--center--main.blog .content--center--inner,
.content--center--main.textpage .content--center--inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.content--center--main.blog .content--center--inner__left,
.content--center--main.textpage .content--center--inner__left {
	display: block !important; /* стокове display:none <=800px (рядок ~518) */
	flex-basis: auto;
	max-width: none;
	padding-right: 0;
	order: 2;
}
.content--center--main.blog .content--center--inner__center,
.content--center--main.textpage .content--center--inner__center {
	flex-basis: auto;
	order: 1;
}
@media (min-width: 768px) {
	.content--center--main.blog .content--center--inner,
	.content--center--main.textpage .content--center--inner {
		display: grid;
		grid-template-columns: 296px minmax(0,1fr);
		gap: 28px;
		padding: 20px 26px 48px;
		align-items: start;
	}
	.content--center--main.blog .content--center--inner__left,
	.content--center--main.blog .content--center--inner__center,
	.content--center--main.textpage .content--center--inner__left,
	.content--center--main.textpage .content--center--inner__center {
		order: initial;
	}
}

/* ---------- 18a. Лівий сайдбар — єдиний стиль (каталог, блог, текстові сторінки) ----------
   ТЗ «Каталог» §2–4: панелі --panel з рамкою --line, gap 20px, шапка панелі
   16px/700, пункти 15px з активним станом «рискою» зліва. Скоуп —
   .content--center--inner__left (існує в DOM лише за увімкненої лівої колонки).
   Розмітка: catalogSub.php / catalog.php / chaptersSub.php /
   articlesColumn.php / filters.php / lasItemsColumn.php. */
/* відступ до підвалу, коли в колонках багато даних */
.content--center--main .content--center--inner:has(> .content--center--inner__left) { padding-bottom: 40px; }
@media (min-width: 801px) {
	.content--center--main .content--center--inner:has(> .content--center--inner__left) {
		display: grid;
		grid-template-columns: 296px minmax(0,1fr);
		gap: 28px;
		padding: 20px 26px 48px;
		align-items: start;
	}
	.content--center--main .content--center--inner__left { max-width: none; padding-right: 0; }
}
/* Ліва колонка увімкнена, але жоден модуль нічого не вивів (напр. «Обрані товари») — не резервуємо порожні 296px */
.content--center--main .content--center--inner:has(> .content--center--inner__left:not(:has(.content--left__deliver:has(*)))) { display: block; }
.content--center--inner__left:not(:has(.content--left__deliver:has(*))) { display: none !important; }
.content--center--inner__left .content--left__deliver {
	background: var(--panel);
	border: 1px solid var(--line);
	padding: 0;
	margin-bottom: 20px;
}
.content--center--inner__left .content--left__deliver:not(:has(*)),
.content--center--inner__left .content--left__deliver[hidden] { display: none; }
.content--center--inner__left .content--left__deliver:last-child { margin-bottom: 0; }

/* Шапка панелі */
.content--center--inner__left .fnc--column--catalog__title,
.content--center--inner__left .fnc--column--chapters__title,
.content--center--inner__left .fnc--column--articles__title,
.content--center--inner__left .fnc--items--column__title,
.content--center--inner__left .fnc--filters--title,
.content--center--inner__left .fnc--viewed__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	margin: 0;
	border-bottom: 1px solid var(--line);
	font-family: var(--font-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink);
}
/* сторінка самої категорії: шапка блоку = активний пункт */
.content--center--inner__left .fnc--column--catalog__title--active {
	background: var(--cream-deep);
	border-left: 3px solid var(--accent);
	padding-left: 15px;
}
.content--center--inner__left .fnc--column--catalog__title a { color: inherit; text-decoration: none; }
.content--center--inner__left .fnc--column--catalog__title a:hover { color: var(--accent); }
.content--center--inner__left .fnc--column--catalog,
.content--center--inner__left .fnc--column--chapters { margin: 0; border: 0; }
.content--center--inner__left .fnc--column--catalog__container,
.content--center--inner__left .fnc--column--chapters__container { padding: 6px 0; }
.content--center--inner__left .fnc--column--articles__container { padding: 4px 18px 14px; }
/* Заглушка банера left6 (замінюється довільним HTML в адмінці) */
.ns-banner-stub {
	padding: 22px 18px;
	border: 1px dashed var(--line-strong);
	background: var(--panel);
	color: var(--ink-muted);
	font-size: 14px;
	line-height: 1.5;
}

/* Пункти списків: підкатегорії, дерево каталогу/рубрик */
.content--center--inner__left .fnc--subcat,
.content--center--inner__left .fnc--column--catalog__container > div[class*="fnc--column--category"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="fnc--column--chapter"] {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 8px 18px;
	margin: 0;
	font-size: 15px;
	line-height: 1.35;
	color: var(--ink);
	text-decoration: none;
	cursor: pointer;
}
.content--center--inner__left .fnc--subcat__name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.content--center--inner__left .fnc--subcat__count {
	flex-shrink: 0;
	font-size: 13px;
	color: var(--ink-muted);
	font-variant-numeric: tabular-nums;
}
.content--center--inner__left .fnc--column--catalog__container > div a,
.content--center--inner__left .fnc--column--chapters__container > div a {
	flex: 1;
	min-width: 0;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
}
/* рівні вкладеності дерева */
.content--center--inner__left .fnc--column--catalog__container > div[class*="category1"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter1"] { padding-left: 32px; }
.content--center--inner__left .fnc--column--catalog__container > div[class*="category2"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter2"] { padding-left: 46px; }
.content--center--inner__left .fnc--column--catalog__container > div[class*="category3"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter3"] { padding-left: 60px; }

.content--center--inner__left .fnc--subcat:hover,
.content--center--inner__left .fnc--column--catalog__container > div:hover,
.content--center--inner__left .fnc--column--chapters__container > div:hover { background: var(--cream-deep); }
/* активний: риска зліва 3px + padding-left 15px — текст не зсувається */
.content--center--inner__left .fnc--subcat--active,
.content--center--inner__left .fnc--column--catalog__container > div[class*="__active"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="__active"] {
	background: var(--cream-deep);
	border-left: 3px solid var(--accent);
	padding-left: 15px;
	font-weight: 700;
}
.content--center--inner__left .fnc--column--catalog__container > div[class*="category__active1"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter__active1"] { padding-left: 29px; }
.content--center--inner__left .fnc--column--catalog__container > div[class*="category__active2"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter__active2"] { padding-left: 43px; }
.content--center--inner__left .fnc--column--catalog__container > div[class*="category__active3"],
.content--center--inner__left .fnc--column--chapters__container > div[class*="chapter__active3"] { padding-left: 57px; }

/* «Ще N ▾» */
.fnc--more {
	display: block;
	width: 100%;
	min-height: 0;
	padding: 8px 18px;
	border: 0;
	background: none;
	text-align: left;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent);
	cursor: pointer;
}
.fnc--more:hover { color: var(--accent-hover); }
.fnc--more[hidden],
.fnc--subcat[hidden] { display: none; }

/* Останні статті (articlesColumn.php) */
.content--center--inner__left .fnc--column--article_listitem {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--line-soft);
}
.content--center--inner__left .fnc--column--article_listitem:last-child { border-bottom: 0; }
.content--center--inner__left .fnc--column--article--listitem__img { flex-shrink: 0; width: 56px; height: 56px; overflow: hidden; background: var(--surface); }
.content--center--inner__left .fnc--column--article--listitem__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.content--center--inner__left .fnc--column--article--listitem__name { font-size: 14px; font-weight: 600; line-height: 1.35; }
.content--center--inner__left .fnc--column--article--listitem__name a { color: var(--ink); text-decoration: none; }
.content--center--inner__left .fnc--column--article--listitem__name a:hover { color: var(--accent); }
.content--center--inner__left .fnc--column--article--listitem__date { font-size: 13px; color: var(--ink-muted); margin-top: 3px; }
.content--center--inner__left .fnc--column--articles__button { margin-top: 10px; }
.content--center--inner__left .fnc--column--articles__button a { font-size: 14px; font-weight: 700; color: var(--accent); text-decoration: none; }

/* Ви переглядали (lasItemsColumn.php, дані з localStorage — truecoffee.js) */
.fnc--viewed__clear {
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 13px;
	font-weight: 400;
	color: var(--ink-muted);
	cursor: pointer;
}
.fnc--viewed__clear:hover { color: var(--accent); }
.fnc--viewed__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 18px;
	border-bottom: 1px solid var(--line-soft);
	text-decoration: none;
	color: var(--ink);
}
.fnc--viewed__item:last-child { border-bottom: 0; }
.fnc--viewed__item:hover { background: var(--cream-deep); }
.fnc--viewed__img { flex-shrink: 0; width: 56px; height: 56px; background: var(--surface); }
.fnc--viewed__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.fnc--viewed__name {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fnc--viewed__price { flex-shrink: 0; font-size: 14px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }

/* Топ товари / хіти в лівій колонці (topItemsColumn.php) — той самий вигляд, що «Ви переглядали» */
.content--center--inner__left .fnc--items--column { max-width: none; margin: 0; padding: 0; }
.content--center--inner__left .fnc--items--column__listitem {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	grid-template-areas: "img name price";
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px 18px;
	border: 0;
	border-bottom: 1px solid var(--line-soft);
	border-radius: 0;
}
.content--center--inner__left .fnc--items--column__listitem:hover { background: var(--cream-deep); }
.content--center--inner__left .fnc--items--column__main { display: contents; }
.content--center--inner__left .fnc--items--column__name {
	grid-area: name;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	text-align: left;
}
.content--center--inner__left .fnc--items--column__name a { color: var(--ink); text-decoration: none; }
.content--center--inner__left .fnc--items--column__name a:hover { color: var(--accent); }
.content--center--inner__left [class*="fnc--items--column__image--"] { grid-area: img; width: 56px; height: 56px; background: var(--surface); }
.content--center--inner__left [class*="fnc--items--column__image--"] a { display: block; height: 100%; }
.content--center--inner__left [class*="fnc--items--column__image--"] img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
.content--center--inner__left .fnc--items--column__price {
	grid-area: price;
	padding: 0;
	font-size: 14px;
	font-weight: 800;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}
.content--center--inner__left .fnc--products--column__buy { display: none; }
.content--center--inner__left .fnc--items--column__button { padding: 12px 18px 14px; text-align: left; }
.content--center--inner__left .fnc--items--column__button a { font-size: 14px; font-weight: 700; color: var(--accent); text-decoration: none; }

/* Панель фільтрів (filters.php) */
.content--center--inner__left .fnc--filters--container { background: none; border: 0; padding: 0; }
.js__filters--popup .fnc--filters--title { display: none; }
.fnc--filters--reset {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--accent);
	cursor: pointer;
}
.fnc--filters--reset:hover { color: var(--accent-hover); }
.fnc--filters--reset[hidden] { display: none; }
.js__filters--container .fnc--filters--wrap { padding: 0; }
.js__filters--container .fnc--filters--item {
	display: block;
	padding: 16px 18px;
	border-bottom: 1px solid var(--line);
}
.js__filters--container .fnc--filters--item:last-child { border-bottom: 0; }
.js__filters--container .fnc--filters--item.tc-empty { display: none; }
.js__filters--container .fnc--filters--item__name {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--accent);
}
.js__filters--container .fnc--filters--item__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px;
	padding: 4px 0;
	font-size: 15px;
	cursor: pointer;
}
.js__filters--container .fnc--filters--item__inner:hover { background: none; }
.js__filters--container .fnc--filters--item__inner:has(input:disabled),
.js__filters--container .fnc--filters--item__inner.tc-more-hidden { display: none; }
.js__filters--container .fnc--filters--item__inner--param {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-size: 15px;
	color: var(--ink);
}
.fnc--filters__pname { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.fnc--filters__pcount { flex-shrink: 0; font-size: 13px; font-weight: 400; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.js__filters--container .label--filter--checkbox { min-height: 0; width: 18px; height: 18px; }
.tc-vrow--on .label--filter--checkbox { background: var(--ink); border-color: var(--ink); }
.tc-vrow--on .label--filter--checkbox::after {
	content: '';
	position: absolute;
	inset: 3px;
	background-color: #fff;
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}
.tc-vrow--on .fnc--filters--item__inner--param { font-weight: 700; }
.tc-vrow:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.tc-vibor--rows > select { display: none; }
.js__filters--container .fnc--filters--item__inner.tc-vibor--rows { display: block; padding: 0; cursor: default; }
.js__filters--container .fnc--filters--item__inner:has(.js__filter--select) { padding: 0; }
.js__filters--container .js__filter--select {
	width: 100%;
	min-height: 44px;
	padding: 0 34px 0 12px;
	border: 1px solid var(--line-strong);
	background-color: var(--surface);
	color: var(--ink);
	font-size: 15px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241A14' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 15px;
}
.js__filters--container .fnc--filters--item__params > .fnc--more { padding: 6px 0 0; }

/* Ціна: два поля й «—» між ними, повзунок — тонкий трек, квадратні хендли */
.js__filters--container .fnc--filters--item__inner--slider { display: flex; align-items: center; gap: 10px; }
.js__filters--container .fnc--filters--item__inner--slider > div:first-child,
.js__filters--container .fnc--filters--item__inner--slider > div:last-child { flex: 1; min-width: 0; }
.js__filters--container .fnc--filters--item__inner--slider > div:nth-child(2) { padding: 0; color: var(--ink-muted); }
.js__filters--container .fnc--filters--item__inner--slider input {
	width: 100%;
	min-height: 40px;
	padding: 0 10px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
	font-size: 16px;
	text-align: center;
	box-sizing: border-box;
}
.js__filters--container .fnc--filter--slider { margin: 18px 7px 6px; }
.js__filters--container .fnc--filter--slider.ui-slider { height: 3px; background: var(--line); }
.js__filters--container .fnc--filter--slider.ui-slider .ui-slider-range { background: var(--accent); }
.js__filters--container .fnc--filter--slider.ui-slider .ui-slider-handle {
	width: 14px;
	height: 14px;
	margin-top: -7px;
	margin-left: -7px;
	border: 0;
	background: var(--ink);
}

/* Список статей — картка (articlesList.php); фото 16:10 → eyebrow → назва,
   лід/дата в окремих блоках-сусідах */
.fnc--articles--list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) {
	.fnc--articles--list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1024px) {
	.fnc--articles--list { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
.fnc--articles--listitem {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--line);
	height: 100%;
}
.fnc--articles--listitem__main { display: flex; flex-direction: column; }
.fnc--articles--listitem__image { aspect-ratio: 16 / 10; overflow: hidden; }
.fnc--articles--listitem__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.article-eyebrow {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ink-muted);
	padding: 14px 16px 0;
}
.fnc--articles--listitem__name {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	padding: 6px 16px 14px;
}
.fnc--articles--listitem__name a { color: var(--ink); text-decoration: none; }
.fnc--articles--listitem__info {
	font-size: 14px;
	line-height: 1.55;
	color: var(--ink-soft);
	padding: 0 16px;
	flex-grow: 1;
}
.fnc--articles--listitem__date {
	font-size: 13px;
	color: var(--ink-muted);
	padding: 10px 16px 16px;
	margin-top: auto;
}

/* Сторінка статті — типографіка. .article-body (блог) і
   .content--center--main.textpage .content--center--page__text (Про нас/
   Доставка/Контакти, ч.4 §29, опис категорії «Опт» ч.3 §18.3 — той самий
   клас .article-body додається прямо на div з категорії) — один набір
   правил. У textpage H1 сидить прямо в адмінському HTML (немає окремої
   .page--article--name обгортки, як у блозі), тому селектор нижче. */
.content--center--main.blog .page--article--back { display: none; } /* дублює nav "Усі статті" знизу */
.content--center--main.blog .page--article--date { display: none; } /* дублює дату в eyebrow */
.page--article--name h1,
.article-body h1,
.content--center--main.textpage .content--center--page__text h1 {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 28px;
	line-height: 1.2;
	color: var(--ink);
	margin: 8px 0 0;
}
@media (min-width: 768px) {
	.page--article--name h1,
	.article-body h1,
	.content--center--main.textpage .content--center--page__text h1 { font-size: 44px; }
}
.article-body__cover {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	margin: 20px 0;
}
.article-body,
.content--center--main.textpage .content--center--page__text {
	max-width: 700px;
	font-size: 17px;
	line-height: 1.65;
	color: var(--ink);
}
.article-body > p:first-of-type,
.content--center--main.textpage .content--center--page__text > p:first-of-type {
	font-size: 20px;
	line-height: 1.55;
	color: var(--ink-soft);
}
.article-body h2,
.content--center--main.textpage .content--center--page__text h2 {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 24px;
	margin: 28px 0 12px;
}
@media (min-width: 768px) {
	.article-body h2,
	.content--center--main.textpage .content--center--page__text h2 { font-size: 28px; }
}
.article-body blockquote,
.content--center--main.textpage .content--center--page__text blockquote {
	border-left: 3px solid var(--accent);
	padding-left: 18px;
	margin: 20px 0;
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 21px;
	color: var(--ink-soft);
}
/* Зображення в тексті — рамка, без примусового кропу (контент змішує фото
   на всю ширину з дрібними інлайн-іконками/лого — 16:9 зламав би останні) */
.article-body img,
.content--center--main.textpage .content--center--page__text img {
	max-width: 100%;
	border: 1px solid var(--line);
}
/* Страховка: старий адмінський контент "Про нас" — таблиця фото|текст у
   <td>, без цього на 390 переповнює екран (фіксована ширина колонок). */
@media (max-width: 599px) {
	.article-body table,
	.content--center--main.textpage .content--center--page__text table,
	.article-body tbody,
	.content--center--main.textpage .content--center--page__text tbody,
	.article-body tr,
	.content--center--main.textpage .content--center--page__text tr,
	.article-body td,
	.content--center--main.textpage .content--center--page__text td {
		display: block;
		width: 100% !important;
	}
}

/* Навігація в кінці статті */
.article-nextprev {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
	max-width: 700px;
}
@media (min-width: 600px) {
	.article-nextprev { flex-direction: row; justify-content: space-between; align-items: center; }
}
.article-nextprev a { color: var(--accent); font-weight: 700; text-decoration: none; font-size: 14px; }
.article-nextprev a:hover { color: var(--accent-hover); }

/* ---------- 19. 404 і порожній пошук (ч.3 §21, блок 3 MAKEUP_PLAN) ----------
   Один шаблон (emptyState.php), два стани — вмикається класом .error404 на
   .content--center--main (стокове ім'я секції error_404.php; search.php
   додає той самий клас лише коли coun==0, щоб не займати сітку каталогу
   результатів пошуку — блок 6, ще не зроблено). */
.error404 .content--center--inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 0 16px;
}
@media (min-width: 768px) { .error404 .content--center--inner { padding: 0 26px; } }
@media (min-width: 1200px) { .error404 .content--center--inner__right { margin-top: 24px; } }
.error404 .content--center--inner__right {
	display: block !important; /* стокове display:none <=800px (рядок ~544) */
	flex-basis: auto;
	max-width: none;
}
@media (min-width: 1200px) {
	.error404 .content--center--inner {
		display: grid;
		grid-template-columns: minmax(0,1fr) 360px;
		gap: 44px;
		align-items: start;
	}
}

.fnc--emptystate__code {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 56px;
	line-height: .85;
	font-variant-numeric: tabular-nums;
	color: var(--ink);
}
@media (min-width: 768px) {
	.fnc--emptystate__code { font-size: 92px; }
}
.fnc--emptystate__icon {
	width: 56px;
	height: 56px;
	background-color: var(--ink-faint);
	-webkit-mask: var(--icon-search) center / contain no-repeat;
	mask: var(--icon-search) center / contain no-repeat;
	margin-bottom: 8px;
}
.fnc--emptystate__title {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	color: var(--ink);
	margin: 8px 0 12px;
	overflow-wrap: break-word; /* пошуковий запит користувача — довге слово без пробілів не має розтягувати сторінку */
}
@media (min-width: 768px) {
	.fnc--emptystate__title { font-size: 34px; }
}
.fnc--emptystate__text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 46ch;
	margin-bottom: 24px;
}
.fnc--emptystate__search { max-width: 520px; margin-bottom: 28px; }
.fnc--emptystate__search .fnc--search__field input,
.fnc--emptystate__search .fnc--search__button button { min-height: 52px; }
.fnc--emptystate__search .fnc--search__button button { background: var(--ink); }
.fnc--emptystate__search .fnc--search__button button:hover { background: var(--ink-soft); }
.fnc--emptystate__wheretogo {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--accent);
	margin-bottom: 12px;
}
.fnc--emptystate__categories {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 12px;
}
.fnc--emptystate--category {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 60px;
	padding: 12px 16px;
	border: 1px solid var(--line-strong);
	text-decoration: none;
	color: var(--ink);
}
.fnc--emptystate--category:first-child { border-color: var(--ink); }
.fnc--emptystate--category::after {
	content: '';
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background-color: var(--ink-muted);
	-webkit-mask: var(--icon-chevron) center / contain no-repeat;
	mask: var(--icon-chevron) center / contain no-repeat;
	transform: rotate(-90deg);
}
.fnc--emptystate--category__name { font-size: 16px; font-weight: 700; }
.fnc--emptystate--category__count { font-size: 12px; color: var(--ink-muted); margin-top: 2px; }

/* Права колонка: панель --panel (contactPanel.php) + темний "Топ тижня"
   (topItemsColumn.php -> itemsColumn.php, той самий компонент, що й "Ви
   дивились" у блозі, тут — інший скоуп/колір, тому стилі окремо). */
.error404 .content--right__deliver { margin-bottom: 20px; }
.fnc--panel--contact {
	background: var(--panel);
	border: 1px solid var(--line);
	padding: 18px 20px;
}
.fnc--panel--contact__title { font-family: var(--font-serif); font-weight: 600; font-size: 17px; margin-bottom: 10px; color: var(--ink); }
.fnc--panel--contact__body { font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.fnc--panel--contact__body div:first-child { font-size: 20px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }

.error404 .fnc--items--column {
	background: var(--dark);
	color: var(--on-dark-2);
	padding: 18px 20px;
}
.error404 .fnc--items--column__title { font-family: var(--font-serif); font-weight: 600; font-size: 17px; color: var(--on-dark); margin-bottom: 10px; }
.error404 .fnc--items--column__listitem {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid rgba(234,241,239,.18);
}
.error404 .fnc--items--column__listitem:last-child { border-bottom: none; }
.error404 .fnc--items--column__main { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.error404 .fnc--items--column__button a { color: var(--on-dark-2); }
.error404 [class*="fnc--items--column__image--"] { display: none; } /* спека: лише "назва / ціна", без фото */
.error404 .fnc--items--column__name { font-size: 14px; font-weight: 600; text-align: left; }
.error404 .fnc--items--column__name a { color: var(--on-dark); text-decoration: none; }
.error404 .fnc--items--column__price { font-size: 14px; font-weight: 800; color: var(--on-dark-2); font-variant-numeric: tabular-nums; text-align: right; }
.error404 .fnc--products--column__buy { display: none; } /* спека: тільки назва/ціна, без кнопки купівлі */

/* Кнопка пошуку: глобальне background:var(--accent) стирало вендорську PNG-лупу,
   іконка-заміна була лише в мегаменю — тут кнопка лишалась порожнім квадратом. */
.fnc--emptystate__search .fnc--search__button button,
.fnc--search--heading__search .fnc--search__button button { position: relative; }
.fnc--emptystate__search .fnc--search__button button::before,
.fnc--search--heading__search .fnc--search__button button::before {
	content: '';
	position: absolute;
	inset: 14px 12px;
	background-color: #fff;
	-webkit-mask: var(--icon-search) center / contain no-repeat;
	mask: var(--icon-search) center / contain no-repeat;
}

/* Телефон у панелі "Шукали конкретний сорт?" отримував фон і відступи шапкового
   .fnc--header--contacts__left (напівпрозорий темний) під темним текстом панелі. */
.fnc--panel--contact__body .fnc--header--contacts__left { background: transparent; padding: 0; display: block; }

/* ---------- 20. Результати пошуку (ч.4 §28, блок 6 MAKEUP_PLAN) ----------
   Каталог без сайдбара — .fnc--products--listVer тут завжди без сусіда
   .content--center--inner__left, тому 4 колонки на 1440 (не 5 як на інших
   сторінках без сайдбара, і не 4 як у каталозі з сайдбаром — власна цифра
   з ТЗ). :not(.error404) — щоб не займати порожній стан (блок 3, той самий
   шаблон 404, свою сітку не має). */
@media (min-width: 1200px) {
	.content--center--main.search:not(.error404) .fnc--products--listVer {
		grid-template-columns: repeat(4, minmax(0,1fr));
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.content--center--main.search:not(.error404) .fnc--products--listVer { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}
.fnc--search--heading { padding: 12px 16px 0; }
@media (min-width: 768px) { .fnc--search--heading { padding: 16px 26px 0; } }
.fnc--search--heading h1 { font-family: var(--font-serif); font-weight: 700; font-size: 24px; color: var(--ink); }
@media (min-width: 768px) { .fnc--search--heading h1 { font-size: 30px; } }
.fnc--search--heading__meta { font-size: 15px; color: var(--ink-muted); margin-top: 4px; overflow-wrap: break-word; }
.fnc--search--heading__search { max-width: 520px; padding: 16px 16px 0; }
@media (min-width: 768px) { .fnc--search--heading__search { padding: 16px 26px 0; } }
.fnc--search--heading__search .fnc--search__field input,
.fnc--search--heading__search .fnc--search__button button { min-height: 52px; }

/* ---------- 21. Мобільний каталог 390 (ч.3 §20, блок 2 MAKEUP_PLAN) ---------- */

/* 20.2 Рядок керування — на <900px лишаємо тільки сортування (flex:1) і
   кнопку "Фільтр"; перемикач вигляду й "N на сторінці" ховаємо (спека їх
   не згадує в мобільному рядку — місця замало, вигляд сітки на 390 завжди
   grid, вибір кількості на сторінці лишається доступний лише з 900px). */
@media (max-width: 899px) {
	.fnc--viewblock--items,
	.fnc--perpage--items { display: none; }
	.fnc--sorting { flex: 1; }
	.js__sort--button { width: 100%; }
	.mobile--show--filters { padding: 0; flex-shrink: 0; }
}
.mobile--show--filters button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.fnc--filters--badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 3px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}
.fnc--filters--badge[hidden] { display: none; }

/* 20.3 Чіпи — градієнт-підказка справа, що список продовжується за краєм
   екрана (без нього непомітно, що є горизонтальний скрол). */
.fnc--chips { position: relative; }
.fnc--chips:not([hidden])::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 12px;
	width: 34px;
	background: linear-gradient(90deg, transparent, var(--page) 70%);
	pointer-events: none;
}
@media (min-width: 768px) { .fnc--chips:not([hidden])::after { display: none; } }

/* 20.4 Картка в сітці на <900px — менший кегль ціни, кнопка залита завжди
   (hover на дотику не існує). Назва вже 15px базово (збігається зі
   спекою), eyebrow/ноти в поточній картці відсутні (§5 — свідомо приховано
   раніше, не цього блоку стосується). */
@media (max-width: 899px) {
	.fnc--products--listitem__price,
	.fnc--products--slider__price { font-size: 19px; }
	.fnc--products--listitem__buy .js__add--tocart {
		background: var(--accent);
		color: #fff;
		border-color: var(--accent);
	}
}

/* 20.5 Попап фільтрів — шапка (56px, --ink) абсолютно зверху, зміст під нею
   на всю висоту зі своїм скролом (наявне old-правило
   .js__filters--popup--content: overflow-y:auto), нижня смуга абсолютно
   знизу, візуально "плаває" над кінцем скролу (не обрізає його, просто
   перекриває останні ~80px — типовий патерн плаваючої нижньої панелі).
   Свідомо БЕЗ display:flex/!important на .js__filters--popup — вендорський
   JS керує показом/приховуванням через .css('display','block'/'none')
   інлайн-стилем; !important на display переміг би і закриття теж (перевірено
   і виправлено — попап переставав ховатись). position:absolute на шапці/
   смузі не чіпає display контейнера взагалі. overflow:hidden на контейнері
   немає (спека саме цього й остерігалась) — тут це і не потрібно. */
.js__filters--popup { position: fixed; }
.js__filters--popup--content { position: absolute; inset: 56px 0 0 0; overflow-y: auto; }

.fnc--filters--popup__head {
	position: absolute;
	top: 0; left: 0; right: 0;
	min-height: 56px;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 8px 0 16px;
	background: var(--ink);
	color: var(--on-dark);
}
.fnc--filters--popup__title { font-weight: 700; font-size: 15px; flex: 1; }
.fnc--filters--popup__reset {
	background: transparent;
	border: none;
	color: var(--on-dark-2);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	min-height: 44px;
	padding: 0 8px;
}
.fnc--filters--popup__reset:hover { color: var(--on-dark); }
.fnc--filters--popup__close {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	background: transparent;
	border: none;
	position: relative;
	cursor: pointer;
}
.fnc--filters--popup__close::before {
	content: '';
	position: absolute;
	inset: 13px;
	background-color: var(--on-dark);
	-webkit-mask: var(--icon-close) center / contain no-repeat;
	mask: var(--icon-close) center / contain no-repeat;
}

.fnc--filters--popup__foot {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	display: flex;
	gap: 10px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--line);
	background: var(--surface);
}
.fnc--filters--popup__foot--reset {
	min-height: 52px;
	padding: 0 18px;
	border: 1px solid var(--line-strong);
	background: transparent;
	color: var(--ink);
	font-weight: 700;
	cursor: pointer;
}
.fnc--filters--popup__foot--reset:hover { border-color: var(--ink); }
.fnc--filters--popup__foot--show {
	flex: 1;
	min-height: 52px;
	border: none;
	background: var(--ink);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.fnc--filters--popup__foot--show:hover { background: var(--accent); }

/* 20.6 Порожній результат за фільтром — H2 + речення + дві кнопки
   (головна "зняти останню умову" з truecoffee.js, друга — скинути все) */
.noitemsfound h2 { font-family: var(--font-serif); font-weight: 700; font-size: 22px; margin-bottom: 10px; }
.fnc--catalog--empty__text { font-size: 14px; color: var(--ink-muted); margin-bottom: 20px; }
.fnc--catalog--empty__buttons { display: flex; flex-direction: column; gap: 10px; max-width: 320px; margin: 0 auto; }
@media (min-width: 480px) { .fnc--catalog--empty__buttons { flex-direction: row; max-width: none; justify-content: center; } }
.fnc--catalog--empty__removelast {
	min-height: 48px;
	padding: 0 24px;
	border: none;
	background: var(--ink);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.fnc--catalog--empty__removelast:hover { background: var(--accent); }

/* =====================================================================
   21. ФОРМИ (ч.4 §24) і ПОПАП ВХОДУ (ч.4 §25)
   ===================================================================== */

/* 21.1 Поле (§24.1): без скруглення (успадковане з бази рушія). Стани (§24.3):
   focus = рамка --ink + обводка --focus (замість 2px-рамки --focus з аркуша
   станів §7), disabled = --panel */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea { border-radius: 0; }
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
textarea:focus {
	border-width: 1px;
	border-color: var(--ink);
	padding: 13px 14px;
}
input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="password"]:focus-visible,
input[type="number"]:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 1px;
}
input:disabled, textarea:disabled {
	background: var(--panel);
	color: var(--disabled-fg);
	cursor: not-allowed;
}

/* 21.2 Пароль (§24.4): око 40x40 справа, індикатор надійності (три риски
   56x4). Розмітку будує truecoffee.js (initPasswordFields). */
.fnc--pw { position: relative; display: block; }
.fnc--pw > input { width: 100%; padding-right: 48px; }
.fnc--pw__toggle {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 40px;
	height: 40px;
	min-height: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--ink-muted);
	cursor: pointer;
}
.fnc--pw__toggle:hover { color: var(--ink); }
.fnc--pw__toggle::before {
	content: '';
	position: absolute;
	inset: 9px;
	background-color: currentColor;
	-webkit-mask: var(--icon-eye) center / contain no-repeat;
	mask: var(--icon-eye) center / contain no-repeat;
}
.fnc--pw__toggle[aria-pressed="true"]::before {
	-webkit-mask-image: var(--icon-eye-off);
	mask-image: var(--icon-eye-off);
}
.fnc--pw__meter { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.fnc--pw__bar { display: block; width: 56px; height: 4px; background: var(--line); }
.fnc--pw__meter[data-level="1"] .fnc--pw__bar:nth-child(-n+1) { background: var(--error); }
.fnc--pw__meter[data-level="2"] .fnc--pw__bar:nth-child(-n+2) { background: var(--accent); }
.fnc--pw__meter[data-level="3"] .fnc--pw__bar { background: var(--success); }
.fnc--pw__hint { font-size: 12px; color: var(--ink-muted); margin-left: 4px; }

/* 21.3 Попап входу / «Забули пароль» (§25). Підложка — rgba(20,14,10,.62):
   JS рушія анімує opacity підложки до 0.8, тому альфа тут .62/.8 = .775.
   Скоуп — :has(...), бо .fnc--login--popup--container і .js__body--popup
   спільні з попапом кошика. */
.js__body--background { background: rgba(20,14,10,.775); }
.js__body--popup:has(:is(.fnc--login--fields, .fnc--forgot--fields)) {
	width: 420px;
	max-width: calc(100vw - 32px);
	padding: 0;
	border: 1px solid var(--line);
	background: var(--surface);
	box-shadow: 0 20px 38px rgba(20,14,10,.28);
}
.js__body--popup .fnc--login--popup--container:has(:is(.fnc--login--fields, .fnc--forgot--fields)) {
	position: relative;
	display: block;
}
/* шапка --ink 52px: заголовок зліва (з в'ю), хрестик 44x44 всередині */
.js__body--popup .fnc--login--popup--container:has(:is(.fnc--login--fields, .fnc--forgot--fields)) > .popup--container__close {
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 52px;
	margin: 0;
	padding: 0 4px 0 20px;
	background: var(--ink);
}
.js__body--popup .fnc--login--popup--container:has(:is(.fnc--login--fields, .fnc--forgot--fields)) > .popup--container__close .js__close--popup {
	width: 44px;
	height: 44px;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--on-dark);
}
.js__body--popup .fnc--login--popup--container:has(:is(.fnc--login--fields, .fnc--forgot--fields)) > .popup--container__close .js__close--popup:hover {
	background: rgba(244,237,228,.15);
}
.js__body--popup .fnc--login--popup--container:has(:is(.fnc--login--fields, .fnc--forgot--fields)) > .popup--container__close .js__close--popup::before { inset: 12px; }
.fnc--login--popup__title {
	position: absolute;
	top: 0;
	left: 20px;
	height: 52px;
	display: flex;
	align-items: center;
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 21px;
	color: var(--on-dark);
	pointer-events: none;
}
.fnc--login--fields--container,
.fnc--forgot--container { padding: 20px; }

/* поля: підпис 13px/700 над полем, поле на всю ширину */
.fnc--login--fields__field,
.fnc--forgot--main__line { padding: 0; margin-bottom: 16px; }
.fnc--login--fields__field > label,
.fnc--forgot--main__line > label { display: block; margin-bottom: 6px; }
.fnc--login--fields__field input,
.fnc--forgot--main__line input { width: 100%; }
.fnc--login--fields__labelrow { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.fnc--login--fields__labelrow > label { margin: 0; }
.fnc--login--fields__forgot {
	min-height: 32px;
	margin: -8px 0;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 13px;
	color: var(--ink-muted);
	text-decoration: underline;
	cursor: pointer;
}
.fnc--login--fields__forgot:hover { color: var(--accent); }

/* блок помилки/успіху над формою (§24.3, §25.3) */
.fnc--login--fields .text--fail,
.fnc--forgot--fields .text--fail,
.registration--main > .text--fail {
	margin-bottom: 16px;
	padding: 10px 12px;
	background: #FBEDEB;
	border-left: 3px solid var(--error);
	color: var(--error);
	font-size: 13px;
	line-height: 1.5;
}
.fnc--login--fields .text--fail:empty,
.fnc--forgot--fields .text--fail:empty,
.registration--main > .text--fail:empty { display: none; }
.fnc--forgot--fields .text--fail.is-success,
.registration--main > .text--fail.is-success {
	background: var(--success-bg);
	border-left-color: var(--success);
	color: var(--success);
}
.fnc--forgot--fields.is-sent .fnc--forgot--main__title,
.fnc--forgot--fields.is-sent .fnc--forgot--main__line,
.fnc--forgot--fields.is-sent .fnc--forgot--main__button { display: none; }
.fnc--forgot--fields.is-sent .text--fail { margin-bottom: 0; }
.fnc--forgot--main__title { margin-bottom: 16px; font-size: 14px; color: var(--ink-muted); }

/* одна головна кнопка на вікно — --accent 52px на всю ширину */
.fnc--login--fields__submit button,
.fnc--forgot--main__button button {
	width: 100%;
	min-height: 52px;
	padding: 0 20px;
	border: none;
	background: var(--accent);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.fnc--login--fields__submit button:hover,
.fnc--forgot--main__button button:hover { background: var(--accent-hover); }
.fnc--login--fields__submit button:active,
.fnc--forgot--main__button button:active { background: var(--accent-active); }

/* «Зареєструватися» — текстове посилання, не друга кнопка */
.fnc--login--fields__register {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	text-align: center;
	font-size: 14px;
}
.fnc--login--fields__register a {
	font-weight: 700;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--accent);
}
.fnc--login--fields__register a:hover { color: var(--accent); }


/* =====================================================================
   22. СТОРІНКА РЕЄСТРАЦІЇ (ч.4 §26)
   ===================================================================== */

/* 22.1 Сітка: <1024 — одна колонка (блоки цінності під формою), ≥1024 —
   форма 560px + права колонка. Інфо-блоки активації (nowactive/…) — на всю ширину. */
.registration--center--page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 30px 16px; }
@media (min-width: 768px) { .registration--center--page { padding: 30px 26px; } }
.registration--center--page > .js__registration--page--info { grid-column: 1 / -1; }
.registration--main { max-width: none; margin: 0; }
@media (min-width: 1024px) {
	.registration--center--page { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 40px; align-items: start; }
}

.registration--main__title {
	margin: 0 0 8px;
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.15;
	color: var(--ink);
}
@media (min-width: 768px) { .registration--main__title { font-size: 40px; } }
.registration--main__lead { margin: 0 0 24px; font-size: 15px; color: var(--ink-soft); }

/* 22.2 Групи: заголовок 11px/800 uppercase --accent, між групами лінія */
.registration--main__group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.registration--main__inner > .registration--main__group:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.registration--main__group--title {
	margin: 0 0 14px;
	font-family: var(--font-text);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--accent);
}
.registration--main__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.registration--main__fields + .registration--main__terms { margin-top: 18px; }
@media (min-width: 600px) {
	.registration--main__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* короткі поля лишаються парами (Ім'я+Телефон, Пароль+Повтор), решта — на всю ширину */
.registration--main__line--text,
.registration--main__line--email,
.registration--main__line--vibor,
.registration--main__line--radio,
.registration--main__line--checkbox,
.registration--main__line--textarea,
.registration--main__line--date { grid-column: 1 / -1; }

.registration--main__line { padding: 0; }
.registration--main__name { padding: 0 0 6px; font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.registration--main__optional { font-weight: 400; color: var(--ink-muted); }
.registration--main__param { padding: 0; }
.registration--main__param input[type="text"],
.registration--main__param input[type="password"],
.registration--main__param textarea { width: 100%; }
.registration--main__param select {
	width: 100%;
	max-width: 240px;
	min-height: 48px;
	padding: 0 14px;
	font-size: 15px;
	border: 1px solid var(--line-strong);
	border-radius: 0;
	background: var(--surface);
	color: var(--ink);
}
.registration--main__hint { margin-top: 6px; font-size: 12px; color: var(--ink-muted); }

/* 22.3 Згода, кнопка, посилання «Увійти» */
.registration--main__terms { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; margin: 18px 0; font-size: 14px; cursor: pointer; }
.registration--main__terms input { flex: none; width: 20px; height: 20px; min-height: 0; margin: 1px 0 0; accent-color: var(--accent); }
.registration--main__terms span { flex: 1; min-width: 0; }
.registration--main__terms.is-error span { color: var(--error); }
.registration--main__terms.is-error::after { content: attr(data-error); flex-basis: 100%; padding-left: 30px; font-size: 12px; color: var(--error); }
.registration--main__button { padding: 0; }
.registration--main__button button {
	width: 100%;
	min-height: 56px;
	padding: 0 20px;
	border: none;
	background: var(--accent);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}
.registration--main__button button:hover { background: var(--accent-hover); }
.registration--main__button button:active { background: var(--accent-active); }
.registration--main__login { margin-top: 16px; text-align: center; font-size: 14px; }
.registration--main__login button {
	display: inline;
	min-height: 0;
	padding: 0;
	border: none;
	border-bottom: 1px solid var(--accent);
	background: transparent;
	font-size: inherit;
	font-weight: 700;
	color: var(--ink);
	cursor: pointer;
}
.registration--main__login button:hover { color: var(--accent); }

/* Успіх (§26.4): зелений блок замість форми + «До каталогу» (truecoffee.js) */
.registration--main > .text--fail.is-success { margin-bottom: 0; }
.registration--main__done { display: inline-block; margin-top: 14px; }
.registration--main__done a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 24px;
	background: var(--ink);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}
.registration--main__done a:hover { background: var(--accent); }

/* 22.4 Права колонка (§26.3): «Що дає акаунт» (--dark) + «Оптовику — не сюди» (--panel) */
.registration--aside { display: flex; flex-direction: column; gap: 16px; }
.registration--aside h2 { margin: 0 0 12px; font-family: var(--font-serif); font-weight: 600; font-size: 20px; }
.registration--aside__benefits { padding: 24px; background: var(--dark); color: var(--on-dark-2); }
.registration--aside__benefits h2 { color: var(--on-dark); }
.registration--aside__benefits ul { margin: 0; padding: 0; list-style: none; }
.registration--aside__benefits li { position: relative; padding-left: 26px; margin-top: 12px; font-size: 14px; line-height: 1.45; }
.registration--aside__benefits li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 3px;
	width: 14px;
	height: 14px;
	background-color: var(--focus);
	-webkit-mask: var(--icon-check) center / contain no-repeat;
	mask: var(--icon-check) center / contain no-repeat;
}
.registration--aside__wholesale { padding: 24px; background: var(--panel); border: 1px solid var(--line); }
.registration--aside__wholesale h2 { color: var(--ink); font-size: 18px; margin-bottom: 8px; }
.registration--aside__wholesale p { margin: 0 0 16px; font-size: 14px; color: var(--ink-muted); }
.registration--aside__button {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--ink);
	color: var(--ink);
	font-weight: 700;
	text-decoration: none;
}
.registration--aside__button:hover { background: var(--ink); color: #fff; }

/* =====================================================================
   23. КОШИК = ЧЕКАУТ (ч.4 §27). Лише сторінка (.content--center--page--cart):
   попап кошика ділить cartList.php і лишається як був. Структуру рушія не
   міняємо — див. initCartPage() у truecoffee.js.
   ===================================================================== */

/* 23.1 Сітка. ≥1024: ліва колонка = товари → «Дані для замовлення»,
   права = липкий підсумок. .cart--page--container стає display:contents,
   щоб форма й підсумок (діти контейнера) стали елементами однієї сітки;
   контейнер сторінки НЕ overflow:hidden (sticky у Safari). */
.content--center--page--cart { padding: 0 16px 30px; }
/* у попапі .fnc--cartlist--section має order:2 (кнопки нижче) — на сторінці порядок природний */
.content--center--page--cart > .fnc--cartlist--section { order: 0; }
@media (min-width: 768px) { .content--center--page--cart { padding: 0 26px 30px; } }
@media (min-width: 1024px) {
	.content--center--page--cart {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 0 28px;
		align-items: start;
	}
	.content--center--page--cart > .fnc--cartlist--section { grid-column: 1; grid-row: 1; }
	.content--center--page--cart .cart--page--container { display: contents; }
	.content--center--page--cart .cart--page--form { grid-column: 1; grid-row: 2; }
	.content--center--page--cart .cart--side {
		grid-column: 2;
		grid-row: 1 / span 2;
		position: sticky;
		top: 20px;
	}
}

/* 23.2 Рядок товару (§27.2): фото | назва+опис | степер | сума | видалити */
.content--center--page--cart .fnc--cartlist--container {
	overflow: visible;
	margin-bottom: 24px;
	background: var(--surface);
	border: 1px solid var(--line);
}
.content--center--page--cart .fnc--cartlist--container table,
.content--center--page--cart .fnc--cartlist--container tbody { display: block; width: 100%; }
.content--center--page--cart .fnc--cartlist--row__title { display: none; }
.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row {
	display: grid;
	background: transparent;
	grid-template-columns: 96px minmax(0, 1fr) 150px 120px 44px;
	grid-template-areas: "img name qty amount del";
	gap: 16px;
	align-items: center;
	padding: 16px 18px;
	border-bottom: 1px solid var(--line);
}
.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row:last-child { border-bottom: 0; }
.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row > td { display: block; padding: 0; border: 0; width: auto; }
.content--center--page--cart .fnc--cartlist--cell__img { grid-area: img; }
.content--center--page--cart .fnc--cartlist--cell__name { grid-area: name; font-size: 18px; font-weight: 600; }
.content--center--page--cart .fnc--cartlist--cell__qnt { grid-area: qty; }
.content--center--page--cart .fnc--cartlist--cell__amount { grid-area: amount; }
.content--center--page--cart .fnc--cartlist--cell__delete { grid-area: del; }
.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row > td.fnc--cartlist--cell__code,
.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row > td.fnc--cartlist--cell__price,
.content--center--page--cart .fnc--cartlist--params__table { display: none; }
.content--center--page--cart .fnc--cartlist--cell__img img.cartimg {
	display: block;
	width: 96px;
	height: 96px;
	padding: 8px;
	box-sizing: border-box;
	object-fit: contain;
	background: var(--panel);
	border: 0;
}
.fnc--cartlist--meta { margin-top: 4px; font-size: 13px; font-weight: 400; color: var(--ink-faint); }
.content--center--page--cart .fnc--cartlist--cell__amount {
	font-size: 20px;
	font-weight: 800;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.content--center--page--cart .fnc--cartlist--cell__amount::after {
	content: 'грн';
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--ink-faint);
}
.content--center--page--cart .js__cart--delete {
	width: 44px;
	height: 44px;
	min-height: 0;
	border: 0;
	color: var(--ink-faint);
}
.content--center--page--cart .js__cart--delete::before { inset: 13px; }
.content--center--page--cart .js__cart--delete:hover { color: var(--error); }

/* степер 138px: кнопки 44px, у центрі число + «шт.» */
.fnc--cartstep { display: flex; align-items: center; width: 138px; border: 1px solid var(--line-strong); background: var(--surface); }
.fnc--cartstep__btn {
	flex: none;
	width: 44px;
	height: 44px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 20px;
	line-height: 1;
	color: var(--ink);
	cursor: pointer;
}
.fnc--cartstep__btn:hover { background: var(--panel); }
.fnc--cartstep__mid { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.content--center--page--cart .fnc--cartstep__mid input.js__cart--quantity--change {
	width: 100%;
	height: 24px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}
.fnc--cartstep__mid input::-webkit-outer-spin-button,
.fnc--cartstep__mid input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fnc--cartstep__unit { font-size: 10px; color: var(--ink-faint); }

@media (max-width: 767px) {
	.content--center--page--cart .fnc--cartlist--container tr.fnc--cartlist--row {
		grid-template-columns: 72px 138px minmax(0, 1fr) 44px;
		grid-template-areas: "img name name del" "img qty amount amount";
		gap: 8px 12px;
		padding: 14px;
	}
	.content--center--page--cart .fnc--cartlist--cell__img { align-self: start; }
	.content--center--page--cart .fnc--cartlist--cell__img img.cartimg { width: 72px; height: 72px; }
	.content--center--page--cart .fnc--cartlist--cell__name { font-size: 16px; }
	.content--center--page--cart .fnc--cartlist--cell__amount { font-size: 18px; }
	.content--center--page--cart .fnc--cartlist--cell__amount::after { display: inline; margin-left: 4px; }
}

/* 23.3 Блок «Дані для замовлення» (§27.3) */
.cart--page--form { padding: 18px 16px; background: var(--surface); border: 1px solid var(--line); }
@media (min-width: 768px) { .cart--page--form { padding: 22px 24px; } }
.cart--page--title { margin: 0 0 20px; font-family: var(--font-serif); font-weight: 600; font-size: 26px; line-height: 1.2; }
.cart--page--inner { display: block; }
.cart--page--group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.cart--page--inner > .cart--page--group:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.cart--page--group--comment { margin-top: 14px; padding-top: 0; border-top: 0; }
.cart--page--group__title {
	margin: 0 0 14px;
	font-family: var(--font-text);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--accent);
}
.cart--page--group__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.cart--page--group__fields > .cart--page--inner__line { margin: 0; }
@media (min-width: 768px) {
	.cart--page--group--who .cart--page--group__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cart--page--group__fields--delivery { grid-template-columns: 1fr 1.4fr; }
}
/* текст доставки й адреса кур'єра — на всю ширину; нативний select схований
   (лишається в DOM, ним керують кнопки .cart--delivery--toggle) */
.cart--page--group__fields--delivery > .cart--page--inner__line:has(#deliveryText),
.cart--page--group__fields--delivery > .cart--page--inner__line:has(.js__order--delivery--text) { grid-column: 1 / -1; }
.cart--page--group__fields--delivery > .cart--page--inner__line:has(.js__order--delivery) { display: none; }
#deliveryText { font-size: 13px; color: var(--ink-muted); }
#deliveryText:empty { display: none; }
.cart--page--inner--block__param input[type="text"],
.cart--page--inner--block__param textarea { width: 100%; }
.cart--page--inner--block__param textarea { min-height: 88px; overflow: hidden; resize: vertical; }

/* доставка: кнопки-перемикачі 48px з ціною, активна — фон --ink */
.cart--delivery--toggles { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.cart--delivery--toggle {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid var(--line-strong);
	background: var(--surface);
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}
.cart--delivery--toggle__price { font-weight: 400; font-size: 13px; color: var(--ink-muted); white-space: nowrap; }
.cart--delivery--toggle:hover { border-color: var(--ink); }
.cart--delivery--toggle.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.cart--delivery--toggle.is-active .cart--delivery--toggle__price { color: var(--on-dark-2); }

/* оплата: один спосіб (лише готівка) — не вибір, а рядок; кілька — кнопки 48px */
.cart--page--group--payment .cart--page--inner--block__param { display: flex; flex-wrap: wrap; gap: 10px; }
.cart--page--group--payment .cart--page--payment__line { flex: 1 1 240px; align-items: center; min-height: 48px; margin: 0; padding: 0 16px; }
.cart--page--group--payment .cart--page--payment__line:has(input:checked) { background: var(--ink); border-color: var(--ink); }
.cart--page--group--payment .cart--page--payment__line:has(input:checked) button { color: #fff; }
.cart--page--group--payment .cart--page--payment__line:only-child,
.cart--page--group--payment .cart--page--payment__line:only-child:has(input:checked) {
	flex: none;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: default;
}
.cart--page--group--payment .cart--page--payment__line:only-child button,
.cart--page--group--payment .cart--page--payment__line:only-child:has(input:checked) button { color: var(--ink); }
.cart--page--group--payment .cart--page--payment__line:only-child .cart--page--payment__line--left { display: none; }

/* помилка/повідомлення чекауту (js__cartpage--info) — блок над кнопкою */
.cart--page--inner__info { margin-top: 16px; }
.cart--page--inner__info:empty { display: none; }
.cart--page--inner__info:not(:empty) {
	padding: 10px 12px;
	background: #FBEDEB;
	border-left: 3px solid var(--error);
	color: var(--error);
	font-size: 13px;
	line-height: 1.5;
}

/* 23.4 Права колонка (§27.4): «Разом» + окремий менший блок «Промокод» */
.cart--side { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
@media (min-width: 1024px) { .cart--side { margin-top: 0; } }
.content--center--page--cart .cart--summary { background: var(--surface); padding: 22px; }
.cart--summary__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14px; }
.cart--summary__subtotal-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.cart--summary__subtotal-value::after { content: ' грн'; }
.cart--summary tbody { display: block; width: 100%; }
.cart--summary tr { width: 100%; }
.cart--summary tr,
.cart--promo tr { background: transparent; }
.cart--summary td,
.cart--promo td { color: var(--ink); }
.cart--summary .cart--row--delivery td:not(.fnc--cartlist--cell__name):not(.fnc--cartlist--cell__amount),
.cart--summary .cart--row--bonuses td:not(.fnc--cartlist--cell__name):not(.fnc--cartlist--cell__amount) { display: none; }
.cart--summary .cart--row--delivery,
.cart--summary .cart--row--bonuses { background: transparent; padding: 6px 0; font-size: 14px; justify-content: space-between; gap: 12px; }
.cart--summary .cart--row--delivery .fnc--cartlist--cell__name,
.cart--summary .cart--row--bonuses .fnc--cartlist--cell__name { flex: 1; font-size: 14px; font-weight: 400; }
.cart--summary .cart--row--delivery .fnc--cartlist--cell__amount,
.cart--summary .cart--row--bonuses .fnc--cartlist--cell__amount { font-size: 14px; font-weight: 400; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cart--summary .cart--row--delivery .fnc--cartlist--cell__amount::after,
.cart--summary .cart--row--bonuses .fnc--cartlist--cell__amount::after { content: ' грн'; display: inline; font-size: inherit; color: inherit; }
.cart--summary .fnc--cartlist--row__total { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 14px; align-items: baseline; }
.cart--summary .fnc--cartlist--row__total { justify-content: space-between; gap: 12px; }
.cart--summary .fnc--cartlist--cell__total__text { font-size: 16px; font-weight: 700; }
.cart--summary .fnc--cartlist--cell__total__summ { font-size: 30px; font-weight: 800; white-space: nowrap; width: auto; }
.cart--summary .fnc--cartlist--cell__total__summ::after { content: ' грн'; font-size: 14px; font-weight: 400; color: var(--ink-muted); }
.cart--summary .js__order--checkout { min-height: 56px; margin-top: 16px; }
.cart--summary__legal { margin-top: 10px; font-size: 12px; color: var(--ink-muted); }

.cart--promo { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 16px; background: var(--panel); border: 1px solid var(--line); }
.cart--promo__title { grid-column: 1 / -1; font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.cart--promo table { display: block; width: 100%; }
.cart--promo tbody, .cart--promo tr { display: flex; align-items: center; width: 100%; }
.cart--promo td { border: 0; padding: 0; }
.cart--promo .cart--row--promocode td:not(.fnc--cartlist--cell__name):not(.fnc--cartlist--cell__amount) { display: none; }
.cart--promo .fnc--cartlist--cell__name { flex: 1; }
.cart--promo .js__bonus--code--letter { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong); background: var(--surface); }
.cart--promo .js__cartcode--amount { flex: none; margin-left: 8px; font-size: 13px; font-weight: 700; color: var(--success); white-space: nowrap; }
.cart--promo .js__cartcode--amount.is-zero { display: none; }
.cart--promo__apply { min-height: 44px; padding: 0 20px; border: 1px solid var(--ink); background: transparent; font-weight: 700; cursor: pointer; }
.cart--promo__apply:hover { background: var(--ink); color: #fff; }

/* 23.5 Мобільна липка смуга «До сплати / Оформити» (§27.5) */
.cart--stickybar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 300;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px calc(14px + env(safe-area-inset-bottom));
	background: var(--ink);
	color: var(--on-dark);
}
.cart--stickybar.is-visible { display: flex; }
@media (min-width: 1024px) { .cart--stickybar, .cart--stickybar.is-visible { display: none; } }
.cart--stickybar__info { display: flex; flex-direction: column; line-height: 1.2; }
.cart--stickybar__label { font-size: 12px; color: var(--on-dark-3); }
.cart--stickybar__sum { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart--stickybar__button { min-height: 48px; padding: 0 28px; border: 0; background: var(--accent); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
.cart--stickybar__button:hover { background: var(--accent-hover); }

/* 23.6 Порожній кошик (§27.7) — і серверний, і той, що пише nespicms.js
   після видалення останнього товару (там лише текст у .fnc--cart--empty) */
.fnc--cart--empty { padding: 24px 0; color: var(--ink-muted); }
.content--center--page--cart > .fnc--cart--empty--full { grid-column: 1 / -1; }
.content--center--page--cart .fnc--cartlist--container:has(.fnc--cart--empty--full) { background: none; border: 0; margin: 0; }
.fnc--cart--empty--full { padding: 56px 16px; text-align: center; background: var(--surface); border: 1px solid var(--line); }
.fnc--cart--empty--full h2 { margin: 0 0 10px; font-family: var(--font-serif); font-weight: 600; font-size: 26px; color: var(--ink); }
.fnc--cart--empty--full p { max-width: 46ch; margin: 0 auto 22px; font-size: 15px; }
.fnc--cart--empty__button {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 28px;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}
.fnc--cart--empty__button:hover { background: var(--accent-hover); color: #fff; text-decoration: none; }


/* Пошук на <1200px. Мегаменю там прихована (гамбургер), а пошук із центру шапки
   прибрано (post_etl крок 30) — лишаємо рядок навбару лише з пошуком на всю ширину. */
@media (max-width: 1199px) {
	.fnc--megamenu { display: block !important; background: var(--dark-top); }
	.fnc--megamenu--container { display: block !important; padding: 8px 16px; }
	.fnc--megamenu--category,
	.fnc--megamenu--category__active { display: none !important; }
	.fnc--megamenu--search { display: block; width: 100%; margin: 0; }
	.fnc--megamenu--search .fnc--search__field input,
	.fnc--megamenu--search .fnc--search__button button { min-height: 40px; height: 40px; }
	.fnc--megamenu--search .fnc--search__field input { padding: 0 12px; }
	.fnc--megamenu--search .fnc--search__button button { width: 40px; min-width: 40px; }
	.fnc--megamenu--search .fnc--search__button button::before { inset: 11px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.fnc--megamenu--container { padding: 8px 26px; }
}

/* ---------- 24. Картка товару <768: без горизонтального скролу (сесія S) ----------
   Вендорський `height:450px` + aspect-ratio давали фото 450px, а хлібні крихти в один
   рядок розпирали flex-колонку (min-width:auto) — сторінка була 470px на екрані 390. */
@media (max-width: 767px) {
	.content--center--inner__center { min-width: 0; }
	.itempage--item--image { width: 100%; height: auto; }
	.breads__inner { flex-wrap: wrap; min-width: 0; }
}

/* ---------- 25. Єдина картка товару: каталог = головна (ч.1 §5, сесія S) ----------
   Були вендорські витоки: радіус 10px (у темі --radius:0), ♥ ліворуч (вендорський
   width:100% + padding у __additional), у слайдері головної — зірки, «порівняння»,
   фото 308px заввишки й окремі стилі ♥. Тепер обидві картки виглядають однаково. */
.fnc--products--listitem,
.fnc--slider--listitem,
.fnc--products--listitem__image,
.fnc--items--slider__image,
.fnc--products--listitem__image img,
.fnc--items--slider__image img,
.fnc--products--listitem .js__add--tocart,
.fnc--slider--listitem .js__add--tocart { border-radius: 0; }
.fnc--items--slider__image { height: auto; }
.fnc--items--slider__image img { max-height: 100%; }

.fnc--products--listitem__additional,
.fnc--products--slider__additional {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: block;
	width: auto;
	padding: 0;
}
.fnc--products--slider__votes,
.fnc--products--slider__compare { display: none; }
.fnc--products--slider__buttons { display: block; padding: 0; flex-basis: auto; }

.fnc--products--listitem__favor .js__favor__button,
.fnc--products--slider__favor .js__favor__button {
	width: 34px;
	height: 34px;
	min-height: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.92);
	border: 1px solid var(--line);
	color: var(--ink-muted);
	cursor: pointer;
	font-size: 0;
}
.fnc--products--slider__favor .js__favor__button::before {
	content: '';
	width: 17px;
	height: 17px;
	background-color: currentColor;
	-webkit-mask: var(--icon-heart) center / contain no-repeat;
	mask: var(--icon-heart) center / contain no-repeat;
}
.fnc--products--slider__favor .favor--item__active { color: var(--accent); border-color: var(--accent); }
/* активне ♥ у списках (каталог, «Обрані товари», слайдери): перебиває загальне правило кнопки нижче за каскадом */
.fnc--products--listitem__favor .js__favor__button.favor--item__active,
.fnc--products--slider__favor .js__favor__button.favor--item__active { color: var(--accent); border-color: var(--accent); }
/* в обраному — серце залите кольором акценту (як на картці товару) */
.fnc--products--listitem__favor .js__favor__button.favor--item__active::before,
.fnc--products--slider__favor .js__favor__button.favor--item__active::before {
	-webkit-mask: var(--icon-heart-fill) center / contain no-repeat;
	mask: var(--icon-heart-fill) center / contain no-repeat;
}


/* Фото картки: квадрат (aspect-ratio 1) замість вендорських height:268/308px; img вписується в квадрат */
.fnc--products--listitem__image,
.fnc--items--slider__image { height: auto; }
.fnc--products--listitem__image a,
.fnc--items--slider__image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.fnc--products--listitem__image img,
.fnc--items--slider__image img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

/* ---------- 26. Головна за макетом «Головна 1440 і 390» (сесія S) ----------
   Без лівої колонки, блоки на всю ширину: заголовок серифом ліворуч, «Дивитись всі →» і стрілки
   праворуч у рядку заголовка, під ними картки; текстовий блок — 760px по центру. */
.content--center--main.home .content--center--inner {
	display: block;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 16px;
}
@media (min-width: 768px) { .content--center--main.home .content--center--inner { padding: 0 26px; } }

.home .fnc--slider--topitems,
.home .fnc--slider--newitems,
.home .fnc--slider--actitems {
	position: relative;
	max-width: none;
	margin: 40px 0 0;
	padding: 0;
}
.home .fnc--slider--topitems__title,
.home .fnc--slider--newitems__title,
.home .fnc--slider--actitems__title {
	text-align: left;
	font-family: var(--font-serif);
	font-size: 26px;
	font-weight: 600;
	color: var(--ink);
	padding: 0 0 14px;
	margin: 0 0 20px;
	border-bottom: 1px solid var(--line);
}
@media (min-width: 768px) {
	.home .fnc--slider--topitems__title,
	.home .fnc--slider--newitems__title,
	.home .fnc--slider--actitems__title { font-size: 30px; }
}
.home .fnc--slider--item__button {
	position: absolute;
	top: 8px;
	right: 0;
	text-align: right;
}
@media (min-width: 768px) { .home .fnc--slider--item__button { right: 92px; } }
.home .fnc--slider--item__button a {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--accent);
	font-size: 13px;
	font-weight: 700;
}
.home .fnc--slider--item__button a::after { content: ' →'; }
.home .fnc--slider--item__button a:hover { background: none; color: var(--accent-hover, var(--accent)); text-decoration: underline; border: 0; }

.home .fnc--slider--topitems__wrap,
.home .fnc--slider--newitems__wrap,
.home .fnc--slider--actitems__wrap { justify-content: flex-start; }
.home .fnc--slider--item__left,
.home .fnc--slider--item__right { position: absolute; top: -2px; z-index: 3; padding: 0; }
.home .fnc--slider--item__left { right: 44px; }
.home .fnc--slider--item__right { right: 0; }
.home .fnc--slider--item__left button,
.home .fnc--slider--item__right button {
	width: 36px;
	height: 36px;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: var(--surface);
	border: 1px solid var(--line-strong);
	color: var(--ink);
	font-size: 16px;
}
.home .fnc--slider--item__left button { background-image: none; }
.home .fnc--slider--item__right button { background-image: none; }

.home .content--center--page__text.article-body { max-width: 760px; margin: 56px auto 64px; }

/* Слайдери: вендорський JS (images.js) рахує ширину картки як W/N − 2·margin-right (gap не враховує) —
   тож проміжок між картками робимо margin'ом (2×10px = 20px за макетом), а не gap. */
.js__slider--topitems__container,
.js__slider--newitems__container,
.js__slider--actitems__container,
.js__slider--lasitems__container { gap: 0; }
.fnc--slider--listitem { margin: 0 10px; }
/* Головна: картки від лівого краю (JS центрував, коли їх мало) */
.home .fnc--slider--topitems__wrap,
.home .fnc--slider--newitems__wrap,
.home .fnc--slider--actitems__wrap { justify-content: flex-start !important; }
.home .js__topitems--slider--container,
.home .js__newitems--slider--container,
.home .js__actitems--slider--container { margin-left: -10px !important; margin-right: 0 !important; }

/* Головна: картки «Акційні»/«Новинки» — та сама ширина, що й у «Топ товари» (5 у ряд на 1440) */
@media (min-width: 1200px) {
	.home .js__slide--actitem,
	.home .js__slide--newitem { width: calc((min(100vw, 1440px) - 52px) / 5 - 20px); }
}

/* Темний блок «Опт і HoReCa» (functions/homeOpt.php) — на всю ширину перед підвалом */
.fnc--home--opt {
	background: var(--dark);
	color: var(--on-dark);
	margin: 64px calc(50% - 50vw) 0;
	padding: 48px 16px;
}
.fnc--home--opt__inner { max-width: 1388px; margin: 0 auto; }
@media (min-width: 768px) { .fnc--home--opt { padding: 56px 26px; } }
.fnc--home--opt__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-on-dark, rgba(255,255,255,.6)); margin-bottom: 14px; }
.fnc--home--opt__title { font-family: var(--font-serif); font-weight: 600; font-size: 28px; line-height: 1.2; margin: 0 0 14px; color: var(--on-dark); }
@media (min-width: 768px) { .fnc--home--opt__title { font-size: 34px; } }
.fnc--home--opt__text { max-width: 620px; font-size: 16px; line-height: 1.6; margin: 0 0 26px; color: rgba(255,255,255,.8); }
.fnc--home--opt__buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.fnc--home--opt__primary,
.fnc--home--opt__secondary {
	min-height: 52px;
	padding: 0 24px;
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	border-radius: 0;
}
.fnc--home--opt__primary { background: var(--accent); color: #fff; border: 1px solid var(--accent); }
.fnc--home--opt__primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.fnc--home--opt__secondary { background: transparent; color: var(--on-dark); border: 1px solid rgba(255,255,255,.5); }
.fnc--home--opt__secondary:hover { border-color: #fff; color: #fff; }


/* Смуга з 4 пунктів під навбаром головної (functions/homeUsp.php): 4 колонки на десктопі, 2×2 на мобільному */
.fnc--home--usp {
	background: #FFFDFA;
	border-bottom: 1px solid var(--line);
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.fnc--home--usp__item {
	padding: 11px 14px;
	border-right: 1px solid var(--line-soft);
	border-bottom: 1px solid var(--line-soft);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.fnc--home--usp__item:nth-child(2n) { border-right: 0; }
.fnc--home--usp__item:nth-child(n+3) { border-bottom: 0; }
.fnc--home--usp__item strong { font-size: 13px; color: var(--ink); }
.fnc--home--usp__item span { font-size: 12px; color: var(--ink-muted); }
@media (min-width: 768px) {
	.fnc--home--usp { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.fnc--home--usp__item { padding: 14px 18px; gap: 3px; border-bottom: 0; }
	.fnc--home--usp__item:nth-child(2n) { border-right: 1px solid var(--line-soft); }
	.fnc--home--usp__item:last-child { border-right: 0; }
	.fnc--home--usp__item strong { font-size: 14px; }
	.fnc--home--usp__item span { font-size: 13px; }
}

/* Бейдж у слайдері: вендорське зміщення -5px обрізалося overflow:hidden контейнера — ставимо в кут картки */
.fnc--items--slider__icon { left: 0; top: 0; z-index: 2; }

/* ---------- Мобільний акордеон каталогу (<900px, ТЗ мегаменю §6) ---------- */
.fnc--mobilecat {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows .3s cubic-bezier(.32,.72,0,1), opacity .22s ease;
	background: var(--panel);
}
.fnc--mobilecat.is-open { grid-template-rows: 1fr; opacity: 1; }
.fnc--mobilecat__inner { min-height: 0; overflow: hidden; }
@media (min-width: 900px) { .fnc--mobilecat { display: none; } }
.fnc--mobilecat__row {
	min-height: 48px;
	padding: 0 16px;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
	text-decoration: none;
}
.fnc--mobilecat__mark { font-size: 12px; color: var(--ink-muted); font-weight: 400; }
.fnc--mobilecat__row.is-open {
	background: var(--cream-deep);
	font-weight: 700;
	box-shadow: inset 3px 0 0 var(--accent);
}
.fnc--mobilecat__row.is-open .fnc--mobilecat__mark { font-size: 0; }
.fnc--mobilecat__row.is-open .fnc--mobilecat__mark::after { content: '▴'; font-size: 12px; }
.fnc--mobilecat__tree {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s cubic-bezier(.32,.72,0,1);
}
.fnc--mobilecat__tree.is-open { grid-template-rows: 1fr; }
.fnc--mobilecat__tree > div { min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.fnc--mobilecat__sub,
.fnc--mobilecat__all {
	min-height: 44px;
	padding: 0 16px 0 32px;
	font-size: 14px;
	display: flex;
	align-items: center;
	background: var(--surface);
	border-bottom: 1px solid var(--line-soft);
	color: var(--ink-soft);
	text-decoration: none;
}
.fnc--mobilecat__all {
	padding-left: 16px;
	font-weight: 700;
	background: var(--cream-deep);
	border-bottom-color: var(--line);
	color: var(--ink);
}
.fnc--mobilecat__pages { background: var(--cream-deep); }
.fnc--mobilecat__title {
	padding: 14px 16px 6px;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-muted);
	font-weight: 700;
}
.fnc--mobilecat__page {
	min-height: 48px;
	padding: 0 16px;
	font-size: 15px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
	text-decoration: none;
}
.fnc--mobilecat__page--phone { font-weight: 700; border-bottom: 0; }
.fnc--mobilecat__row:hover,
.fnc--mobilecat__sub:hover { background: var(--cream-deep); }
.js__show--mobile--menu.is-open { color: var(--accent); }
@media (prefers-reduced-motion: reduce) {
	.fnc--mobilecat, .fnc--mobilecat__tree { transition: none; }
}

/* ---------- Мобільний каталог 390: заголовок і рядок [Фільтр | Сортування] (скрін власника 20.09) ---------- */
.fnc--catalog--heading__meta { display: none; }
@media (max-width: 899px) {
	.fnc--catalog--heading { flex-direction: column; align-items: flex-start; gap: 3px; padding-bottom: 12px; }
	.fnc--catalog--heading__count { display: none; }
	.fnc--catalog--heading__meta { display: block; font-size: 13px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
	.fnc--itemshow--container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		padding: 0;
		border-top: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
	}
	.fnc--itemshow--container:not(:has(.mobile--show--filters)) { grid-template-columns: 1fr; }
	.mobile--show--filters { order: -1; width: 100%; margin: 0; padding: 0; }
	.mobile--show--filters button {
		width: 100%;
		min-height: 52px;
		padding: 0 14px;
		border: 0;
		border-radius: 0;
		background: var(--ink);
		color: #fff;
		font-size: 15px;
		gap: 10px;
	}
	.mobile--show--filters button::before {
		content: '';
		width: 18px;
		height: 18px;
		flex-shrink: 0;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 7h16M7 12h10M10 17h4'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 7h16M7 12h10M10 17h4'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.fnc--sorting { gap: 0; }
	.fnc--sorting__title { display: none; }
	.fnc--sorting__wrap { width: 100%; }
	.js__sort--button {
		width: 100%;
		min-height: 52px;
		padding: 0 32px;
		border: 0;
		border-radius: 0;
		background-color: transparent;
		text-align: center;
		text-align-last: center;
		font-weight: 500;
	}
}

/* ---------- Мобільна шапка ≤767px: 2 ряди 44+58px, липка (клас .tc-mh ставить truecoffee.js) ----------
   Лише перекомбінація: обгортки — display:contents, наявні вузли стають елементами грида шапки.
   Колонки: [ліва зона | 44 | 44]; ряд 1 — телефон · ♥ · 👤; ряд 2 — «Меню» · [лого по центру] · 🔍 · кошик. */
.tc-mphone,
.tc-mbtn,
.fnc--mobilecat__auth { display: none; }
.tc-search-close { display: none; }

.tc-mh {
	position: sticky;
	top: 0;
	z-index: 300;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px 44px;
	grid-template-rows: 44px 58px;
	padding-right: 8px;
	background: linear-gradient(var(--dark-top) 44px, var(--dark) 44px);
}
.tc-mh .header--overhead,
.tc-mh .header--overhead__inner,
.tc-mh .header--overhead--inner__left,
.tc-mh .menu--chapters--mobile,
.tc-mh .header--overhead--inner__right,
.tc-mh .header--centerhead,
.tc-mh .header--centerhead__inner,
.tc-mh .header--centerhead--inner__column3,
.tc-mh .header--centerhead--inner--column3__in2 { display: contents; }
.tc-mh .menu--chapters,
.tc-mh .header--overhead--inner__sep,
.tc-mh .header--centerhead--inner__column1,
.tc-mh .header--centerhead--inner__column2,
.tc-mh .header--centerhead--inner--column3__in1,
.tc-mh .header--underhead { display: none; }

/* ряд 1 */
.tc-mh .tc-mphone {
	grid-row: 1; grid-column: 1;
	display: flex; align-items: center; gap: 8px;
	min-height: 44px; padding-left: 16px;
	color: var(--on-dark); text-decoration: none;
}
.tc-mphone__icon {
	position: relative; flex: 0 0 24px; width: 24px; height: 24px;
	border-radius: 50%; background: var(--accent);
}
.tc-mphone__icon::before {
	content: ''; position: absolute; inset: 5px;
	background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tc-mphone__text { display: flex; flex-direction: column; line-height: 1.15; }
.tc-mphone__label { font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-2); }
.tc-mphone__num { font-size: 13px; font-weight: 700; white-space: nowrap; }

.tc-mh .fnc--favors--container {
	grid-row: 1; grid-column: 2;
	position: relative; width: 44px; min-height: 44px; padding: 0; gap: 0; justify-content: center;
}
.tc-mh .fnc--favors--amount {
	position: absolute; top: 5px; right: 3px;
	min-width: 16px; height: 16px; padding: 0 3px;
	display: flex; align-items: center; justify-content: center;
	background: var(--accent); color: #fff; font-size: 10px; font-weight: 800;
}
.tc-mh .tc-mbtn {
	display: flex; align-items: center; justify-content: center;
	position: relative; width: 44px; height: 44px; padding: 0;
	background: none; border: 0; color: var(--on-dark-2); cursor: pointer;
}
.tc-mh .tc-mbtn::before {
	content: ''; width: 20px; height: 20px; background-color: currentColor;
	-webkit-mask: var(--icon-search) center / contain no-repeat;
	mask: var(--icon-search) center / contain no-repeat;
}
.tc-mh .tc-mbtn:hover { color: var(--on-dark); }
.tc-mh .tc-mbtn--acct { grid-row: 1; grid-column: 3; }
.tc-mh .tc-mbtn--acct::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ряд 2 */
.tc-mh .js__show--mobile--menu { grid-row: 2; grid-column: 1; justify-self: start; align-self: center; width: auto; justify-content: flex-start; padding: 0 12px 0 14px; }
.tc-mh .fnc--favors--container__wrap { background: none; }
.tc-mh .tc-mbtn--search { grid-row: 2; grid-column: 2; align-self: center; }
.tc-mh .tc-mbtn--search[aria-expanded="true"] { color: #fff; background: rgba(255,255,255,.08); }
.tc-mh .fnc--cart--container {
	grid-row: 2; grid-column: 3; align-self: center;
	position: relative; width: 44px; min-height: 44px; padding: 0; gap: 0; justify-content: center;
}
.tc-mh .fnc--cart--container__title,
.tc-mh .fnc--cart--container__amount { display: none; }
.tc-mh .fnc--cart--container__quantity {
	position: absolute; top: 3px; right: 3px;
	min-width: 17px; height: 17px; padding: 0 3px;
	display: flex; align-items: center; justify-content: center;
	background: var(--on-dark); color: var(--dark); font-size: 10px; font-weight: 800;
}
.tc-mh .header--centerhead--inner__logo {
	position: absolute; left: 50%; top: 44px; height: 58px;
	transform: translateX(-50%);
	display: flex; align-items: center;
	padding: 0; background: none; margin: 0;
}
.tc-mh .header--centerhead--inner__logo img { max-height: 30px; width: auto; }
.tc-mh .tc-mphone:focus-visible,
.tc-mh .tc-mbtn:focus-visible,
.tc-mh .js__show--mobile--menu:focus-visible,
.tc-mh .fnc--cart--container:focus-visible,
.tc-mh .fnc--favors--container:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }

/* пошук: панель під рядом 2 (частина липкого блоку — штовхає контент) */
.tc-mh .fnc--megamenu {
	grid-row: 3; grid-column: 1 / -1;
	display: grid !important; grid-template-rows: 0fr;
	background: var(--dark);
	transition: grid-template-rows .18s ease;
}
.tc-mh .fnc--megamenu.is-search-open { grid-template-rows: 1fr; }
.tc-mh .fnc--megamenu--container { display: block; width: 100%; max-width: none; margin: 0; min-height: 0; overflow: hidden; padding: 0 !important; visibility: hidden; }
.tc-mh .fnc--megamenu.is-search-open .fnc--megamenu--container { overflow: visible; visibility: visible; }
.tc-mh .fnc--megamenu--search {
	display: block; width: auto; margin: 0; padding: 4px 8px 12px 12px;
	opacity: 0; transform: translateY(-8px);
	transition: opacity .18s ease, transform .18s ease;
}
.tc-mh .fnc--megamenu.is-search-open .fnc--megamenu--search { opacity: 1; transform: none; }
.tc-mh .fnc--megamenu--search .fnc--search__container { display: flex; align-items: center; gap: 4px; width: 100%; max-width: none; margin: 0; }
.tc-mh .fnc--megamenu--search .fnc--search__button { right: 48px; }
.tc-mh .fnc--megamenu--search .fnc--search__field { flex: 1; min-width: 0; }
.tc-mh .tc-search-close {
	display: flex; align-items: center; justify-content: center; flex: 0 0 44px;
	width: 44px; height: 44px; padding: 0; background: none; border: 0;
	color: var(--on-dark-2); cursor: pointer;
}
.tc-mh .tc-search-close::before {
	content: ''; width: 18px; height: 18px; background-color: currentColor;
	-webkit-mask: var(--icon-close) center / contain no-repeat;
	mask: var(--icon-close) center / contain no-repeat;
}
.tc-mh .tc-search-close:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }

/* акордеон каталогу — в липкому блоці під рядом 2 (власний скрол, штовхає контент);
   мови й «Вхід/Реєстрація» переносяться всередину справжніми вузлами */
.tc-mh .fnc--mobilecat { grid-row: 4; grid-column: 1 / -1; }
.tc-mh .fnc--mobilecat__inner {
	max-height: calc(100vh - 102px);
	max-height: calc(100dvh - 102px);
	overflow: hidden auto;
	overscroll-behavior: contain;
	scrollbar-width: none;
}
.tc-mh .fnc--mobilecat__inner::-webkit-scrollbar { display: none; }
.fnc--mobilecat__lang { display: none; }
.tc-mh .fnc--mobilecat__lang { display: block; flex: 0 0 auto; }
.fnc--mobilecat__lang .languages { display: flex; gap: 8px; }
.fnc--mobilecat__lang .languageact,
.fnc--mobilecat__lang .language { flex: 0 0 44px; min-width: 0; padding: 0; background: none; border: 0; }
.fnc--mobilecat__lang .languages a {
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; border: 1px solid var(--line-strong);
	color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none;
}
.fnc--mobilecat__lang .languageact a { background: var(--accent); border-color: var(--accent); color: #fff; }
.tc-mh .fnc--mobilecat__bar { display: flex; align-items: center; gap: 8px; padding: 14px 16px; background: var(--panel); }
.tc-mh .fnc--mobilecat__auth { display: block; flex: 1; min-width: 0; }
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons,
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons__container { padding: 0; margin: 0; }
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons__container { display: flex; gap: 8px; }
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons__inner { flex: 1; min-width: 0; padding: 0; margin: 0; }
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons__inner button {
	width: 100%; min-height: 44px; padding: 0 8px;
	border: 1px solid var(--ink); background: transparent; color: var(--ink);
	font-size: 14px; font-weight: 700; cursor: pointer;
}
.tc-mh .fnc--mobilecat__auth .fnc--login--buttons__inner:nth-child(2) button { background: var(--accent); border-color: var(--accent); color: #fff; }
.tc-mh .fnc--mobilecat__page--phone { font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
	.tc-mh .fnc--megamenu, .tc-mh .fnc--megamenu--search { transition: none; }
}

/* ---------- Без заокруглень (рішення власника 20.09): у дизайні кути прямі скрізь; виняток — коло телефону в мобільній шапці ---------- */
*, *::before, *::after { border-radius: 0 !important; }
.tc-mphone__icon { border-radius: 50% !important; }

/* ---------- Мобільна карусель товарів (Топ / Акційні / Новинки) ≤767px ----------
   Як на dbags (Onyx): нативний горизонтальний скрол з прив'язкою (scroll-snap), картка 68% ширини —
   збоку видно край наступної. Вендорський images.js (стрілки, inline-ширини, зсув) на мобільному
   гасимо !important; десктоп не чіпаємо. Картинки images.js вантажить одразу (seeallimages). */
@media (max-width: 767px) {
	.fnc--slider--topitems__wrap { display: block; }
	.js__slider--topitem__left, .js__slider--topitem__right { display: none !important; }
	.slider--topitems__inner { display: block; width: 100% !important; max-width: none !important; }
	.js__topitems--slider--container {
		display: block !important; width: calc(100% + 16px) !important; max-width: none !important; margin: 0 !important;
		overflow-x: auto !important; overflow-y: hidden !important;
		scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.js__topitems--slider--container::-webkit-scrollbar { display: none; }
	.js__slider--topitems__container { display: flex !important; gap: 12px; width: auto !important; margin: 0 !important; transform: none !important; }
	.fnc--slider--topitem__main { flex: 0 0 68% !important; width: 68% !important; max-width: 68% !important; margin: 0 !important; scroll-snap-align: start; }
	.fnc--slider--actitems__wrap { display: block; }
	.js__slider--actitem__left, .js__slider--actitem__right { display: none !important; }
	.slider--actitems__inner { display: block; width: 100% !important; max-width: none !important; }
	.js__actitems--slider--container {
		display: block !important; width: calc(100% + 16px) !important; max-width: none !important; margin: 0 !important;
		overflow-x: auto !important; overflow-y: hidden !important;
		scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.js__actitems--slider--container::-webkit-scrollbar { display: none; }
	.js__slider--actitems__container { display: flex !important; gap: 12px; width: auto !important; margin: 0 !important; transform: none !important; }
	.fnc--slider--actitem__main { flex: 0 0 68% !important; width: 68% !important; max-width: 68% !important; margin: 0 !important; scroll-snap-align: start; }
	.fnc--slider--newitems__wrap { display: block; }
	.js__slider--newitem__left, .js__slider--newitem__right { display: none !important; }
	.slider--newitems__inner { display: block; width: 100% !important; max-width: none !important; }
	.js__newitems--slider--container {
		display: block !important; width: calc(100% + 16px) !important; max-width: none !important; margin: 0 !important;
		overflow-x: auto !important; overflow-y: hidden !important;
		scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.js__newitems--slider--container::-webkit-scrollbar { display: none; }
	.js__slider--newitems__container { display: flex !important; gap: 12px; width: auto !important; margin: 0 !important; transform: none !important; }
	.fnc--slider--newitem__main { flex: 0 0 68% !important; width: 68% !important; max-width: 68% !important; margin: 0 !important; scroll-snap-align: start; }
}

/* ---------- Пагінація: посилання, підпис «Сторінка N з M» ---------- */
a.fnc--paging--button { text-decoration: none; }
.fnc--page--label { font-size: 15px; font-weight: 600; color: var(--ink-muted); }
@media (min-width: 768px) { .fnc--page--label { font-size: 17px; } }
@media (max-width: 599px) { .fnc--page--label { display: none; } }
a.fnc--more--button { text-decoration: none; }



/* === Task 6: Privacy policy scroll fix === */
.content--center--page__text {
    overflow-wrap: anywhere;
}
.content--center--page__text table, .article--page__text table, .content--center--page table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
}

/* === Task 7: Tap targets >= 44px === */
@media (max-width: 768px) {
    .header--centerhead a, .header--overhead a, .fnc--user--login a, .fnc--user--login div {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    button, .button, input[type='submit'], input[type='button'], a.button, a.btn {
        min-height: 44px;
    }
    .fnc--pagination a, .fnc--pagination span {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .fnc--filters--item, .filter-item, input[type='checkbox'], label {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}

/* ---------- 19. Каталог (ТЗ «Каталог» §1): крихти, заголовок + сортування, SEO-текст ---------- */

/* Крихти: роздільник › замість ► (розмітка не чіпається), остання — жирна */
.breads--inner__item__separator { font-size: 13px; color: var(--ink-muted); }
.breads--inner__item__active span { font-weight: 700; }

/* Контент центральної колонки біля лівого сайдбару починається від тієї ж лінії, що й лінії-роздільники
   (відступ дає сітка контейнера, а не окремі 26px кожного блоку) */
@media (min-width: 801px) {
	.content--center--inner__left ~ .content--center--inner__center .breads,
	.content--center--inner__left ~ .content--center--inner__center .fnc--catalog--heading,
	.content--center--inner__left ~ .content--center--inner__center .fnc--itemshow--container,
	.content--center--inner__left ~ .content--center--inner__center .fnc--chips {
		padding-left: 0;
		padding-right: 0;
	}
}

/* H1: переноситься, не вилазить за контейнер */
.fnc--catalog--heading h1 {
	min-width: 0;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.15;
	overflow-wrap: anywhere;
	text-wrap: balance;
}
.fnc--catalog--heading__metatext,
.fnc--page--label { font-size: 14px; font-weight: 400; color: var(--ink-muted); }
.fnc--catalog--heading__meta { font-size: 14px; color: var(--ink-muted); }
.fnc--catalog--heading__meta .fnc--page--label { display: inline; }
.fnc--page--label::before { content: ' \00B7 '; }
.fnc--catalog--heading__sort .fnc--sorting__title { font-size: 14px; color: var(--ink-muted); }
.fnc--catalog--heading__sort .js__sort--button { width: auto; min-width: 220px; }

@media (max-width: 899px) {
	.fnc--catalog--heading__sort { display: none; }
}
@media (min-width: 900px) {
	/* лічильник під H1, сортування в одному рядку з H1 праворуч */
	.fnc--catalog--heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 24px;
		row-gap: 4px;
		align-items: end;
	}
	.fnc--catalog--heading h1 { grid-column: 1; grid-row: 1; margin: 0; }
	.fnc--catalog--heading__count { display: none; }
	.fnc--catalog--heading__meta { display: block; grid-column: 1; grid-row: 2; }
	.fnc--catalog--heading__sort { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
	.content--center--inner__center:has(.fnc--catalog--heading__sort) .fnc--itemshow--container .fnc--sorting { display: none; }
}

/* «Обрано:» і «Знайдено N товарів» праворуч */
.fnc--chips__found { margin-left: auto; font-size: 14px; color: var(--ink-muted); white-space: nowrap; flex-shrink: 0; }

/* SEO-текст категорії — під сіткою й пагінацією, зліва, 16px */
.content--center--page__text--seo {
	max-width: 70ch;
	margin: 40px 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink-soft);
	text-align: left;
}
.content--center--page__text--seo * { text-align: left !important; }
.content--center--page__text--seo h1,
.content--center--page__text--seo h2,
.content--center--page__text--seo h3 {
	margin: 0 0 12px;
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--ink);
}
.content--center--page__text--seo p { margin: 0 0 12px; }
@media (max-width: 899px) {
	.content--center--page__text--seo { margin: 32px 16px 0; }
}
@media (min-width: 900px) {
	.content--center--inner__left ~ .content--center--inner__center .fnc--catalog--heading { padding-bottom: 20px; }
	.content--center--inner__center:has(.fnc--catalog--heading__sort) .fnc--itemshow--container { justify-content: flex-end; flex-wrap: nowrap; }
}
.fnc--perpage--items--container .js__perpage--change {
	width: auto;
	min-height: 44px;
	padding: 0 34px 0 12px;
	border: 1px solid var(--line-strong);
	background-color: var(--surface);
	color: var(--ink);
	font-size: 14px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241A14' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 15px;
}
.fnc--perpage--items--container .js__perpage--change:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- 20. Картка товару в сітці каталогу (ТЗ «Каталог» §5) ----------
   Сітка 4/3/2 колонки, gap 16px; фото-квадрат з відступом 12px (contain), текст ліворуч,
   ціна 20px, залита кнопка «Купити». Слайдери головної (.fnc--slider--listitem) не змінюються. */
.fnc--products--listVer { gap: 16px; }
.content--center--inner__left ~ .content--center--inner__center .fnc--products--listVer {
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 16px;
	padding: 24px 0 0;
}
@media (min-width: 900px) {
	.content--center--inner__left ~ .content--center--inner__center .fnc--products--listVer { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1200px) {
	.content--center--inner__left ~ .content--center--inner__center .fnc--products--listVer { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

.fnc--products--listVer .fnc--products--listitem {
	align-items: stretch;
	justify-content: flex-start;
	margin: 0;
	text-align: left;
}
.fnc--products--listVer .fnc--products--listitem__main { display: flex; flex-direction: column; }
.fnc--products--listVer .fnc--products--listitem__image { padding: 12px; border-bottom: 0; }
.fnc--products--listVer .fnc--products--listitem__name {
	order: 2;
	min-height: calc(2 * 1.3em + 12px);
	padding: 12px 12px 0;
	font-size: 15px;
	text-align: left;
}
.fnc--products--listVer .fnc--products--listitem__image { order: 1; }
.fnc--products--listVer .fnc--products--listitem__shopinfo { margin-top: 0; padding: 8px 12px 12px; }
.fnc--products--listVer .fnc--products--listitem__price { min-height: 0; padding: 0; font-size: 20px; font-weight: 800; text-align: left; }
.fnc--products--listVer .fnc--products--listitem__price span { font-size: 13px; }
.fnc--products--listVer .fnc--products--listitem__price:has(.fnc--products--listitem__actprice) { flex-direction: row; align-items: baseline; justify-content: flex-start; }
.fnc--products--listVer .fnc--products--listitem__oldprice,
.fnc--products--listVer .fnc--products--listitem__oldprice span { font-size: 13px; font-weight: 400; color: var(--ink-faint); }
.fnc--products--listVer .fnc--products--listitem__additional { top: 12px; right: 12px; }
.fnc--products--listVer .fnc--products--listitem__favor .js__favor__button { width: 36px; height: 36px; }
.fnc--products--listVer .fnc--products--listitem__buy .js__add--tocart {
	min-height: 44px;
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
	text-transform: none;
	font-size: 15px;
	font-weight: 700;
}
.fnc--products--listVer .fnc--products--listitem__buy .js__add--tocart:hover,
.fnc--products--listVer .fnc--products--listitem:hover .js__add--tocart { background: var(--accent-hover); border-color: var(--accent-hover); }

/* ---------- 21. Каталог, мобільний (ТЗ «Каталог» §2, §4, §6) ---------- */
.fnc--catalog--heading__sort .fnc--sorting__title::after { content: ':'; }
@media (max-width: 599px) {
	.fnc--catalog--heading__meta .fnc--page--label { display: none; }
}

/* Чіпи підкатегорій: лише там, де немає лівого сайдбару (≤800) */
.fnc--subchips { display: none; }
@media (max-width: 800px) {
	.fnc--subchips {
		display: flex;
		gap: 8px;
		padding: 0 16px 16px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.fnc--subchips::-webkit-scrollbar { display: none; }
	.fnc--subchips__item {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 0 16px;
		background: var(--surface);
		border: 1px solid var(--line-strong);
		font-size: 15px;
		color: var(--ink);
		white-space: nowrap;
		text-decoration: none;
	}
	.fnc--subchips__item--active { background: var(--ink); border-color: var(--ink); color: var(--on-dark); font-weight: 700; }
	.fnc--subchips__item:hover { text-decoration: none; color: var(--ink); }
	.fnc--subchips__item--active:hover { color: var(--on-dark); }
}

/* «Сортувати» — кнопка в липкому рядку: підпис замість вибраного значення, select прозорий поверх */
@media (max-width: 899px) {
	.fnc--itemshow--container .fnc--sorting { position: relative; height: 100%; }
	.fnc--itemshow--container .fnc--sorting__title {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		min-height: 52px;
		font-size: 15px;
		font-weight: 700;
		color: var(--ink);
		pointer-events: none;
	}
	.fnc--itemshow--container .fnc--sorting__title::after {
		content: '';
		width: 14px;
		height: 14px;
		background-color: currentColor;
		-webkit-mask: var(--icon-chevron) center / contain no-repeat;
		mask: var(--icon-chevron) center / contain no-repeat;
	}
	.fnc--itemshow--container .fnc--sorting__wrap { position: absolute; inset: 0; }
	.fnc--itemshow--container .js__sort--button { opacity: 0; height: 100%; }
}

/* «Ви переглядали» під сіткою: стрічка карток 140px (лише мобільний; на десктопі — у сайдбарі) */
.fnc--viewed--strip { display: none; }
@media (max-width: 800px) {
	.fnc--viewed--strip:not([hidden]) { display: block; margin: 32px 0 0; }
	.fnc--viewed--strip .fnc--viewed__head { padding: 0 16px 12px; border: 0; font-size: 18px; font-weight: 700; display: flex; justify-content: space-between; }
	.fnc--viewed--strip .fnc--viewed__list {
		display: flex;
		gap: 12px;
		padding: 0 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.fnc--viewed--strip .fnc--viewed__list::-webkit-scrollbar { display: none; }
	.fnc--viewed--strip .fnc--viewed__item {
		flex: 0 0 140px;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 8px;
		background: var(--surface);
		border: 1px solid var(--line);
	}
	.fnc--viewed--strip .fnc--viewed__img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
	.fnc--viewed--strip .fnc--viewed__price { align-self: flex-start; }
}
@media (min-width: 900px) {
	.fnc--itemshow--container .fnc--sorting__title::after { content: ':'; }
}

/* ---------- 22. Панель каталогу в один рядок (десктоп): лічильник ліворуч, «Сортувати · Показувати · вигляд» праворуч ---------- */
.fnc--perpage--items--container { display: flex; align-items: center; gap: 8px; }
.fnc--perpage--items__title { font-size: 14px; color: var(--ink-muted); white-space: nowrap; }
@media (min-width: 900px) {
	.fnc--catalog--heading h1 { grid-column: 1 / -1; grid-row: 1; }
	.fnc--catalog--heading__meta { grid-column: 1; grid-row: 2; align-self: center; }
	.fnc--catalog--heading__sort {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		display: flex;
		align-items: center;
		gap: 20px;
	}
	.fnc--catalog--heading__sort .js__sort--button,
	.fnc--catalog--heading__sort .js__perpage--change { min-height: 40px; }
	.fnc--catalog--heading__sort .js__sort--button { min-width: 0; padding-right: 32px; }
	.fnc--catalog--heading__sort .fnc--perpage--items--container .js__perpage--change { padding-right: 30px; }
	.fnc--catalog--heading__sort .fnc--viewblock--items { display: flex; gap: 4px; }
	.content--center--inner__center:has(.fnc--catalog--heading__sort) .fnc--itemshow--container { display: none; }
}
@media (max-width: 899px) {
	.fnc--catalog--heading__sort .fnc--perpage--items,
	.fnc--catalog--heading__sort .fnc--viewblock--items { display: none; }
}
.fnc--catalog--heading__sort .fnc--perpage--items--container .js__perpage--change { width: auto; min-width: 0; padding-left: 10px; }
.fnc--catalog--heading__sort .fnc--perpage--items--container .js__perpage--change { width: 72px; }

/* ---------- 23. Список товарів (вигляд «список», itemsHor.php) — та сама картка, що й у сітці ---------- */
.fnc--products--listHor { display: flex; flex-direction: column; gap: 16px; padding: 16px; }
.content--center--inner__left ~ .content--center--inner__center .fnc--products--listHor { padding: 24px 0 0; }
.fnc--products--listhoritem {
	position: relative;
	display: block;
	margin: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 0;
	transition: border-color 160ms ease;
}
.fnc--products--listhoritem:hover { border-color: var(--ink); }
.fnc--products--listhoritem__icon { position: absolute; top: 0; left: 0; z-index: 2; width: auto; }
.fnc--products--listhoritem__inner { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: stretch; }
.fnc--products--listhoritem__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 12px;
	background: var(--surface);
	overflow: hidden;
}
.fnc--products--listhoritem__image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.fnc--products--listhoritem__image img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 0; }
.fnc--products--listhoritem__main {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	grid-template-areas: "name shop" "info shop";
	grid-template-rows: auto 1fr;
	column-gap: 24px;
	padding: 16px 16px 16px 8px;
	text-align: left;
}
.fnc--products--listhoritem__name { grid-area: name; padding: 0 44px 0 0; font-size: 16px; font-weight: 700; line-height: 1.3; }
.fnc--products--listhoritem__name a { color: var(--ink); text-decoration: none; }
.fnc--products--listhoritem__name a:hover { color: var(--accent); }
.fnc--products--listhoritem__votes,
.fnc--products--listhoritem__compare { display: none; }
.fnc--products--listhoritem__info {
	grid-area: info;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
}
.fnc--products--listhoritem__buttons { position: absolute; top: 12px; right: 12px; z-index: 3; }
.fnc--products--listhoritem__favor .js__favor__button {
	width: 36px;
	height: 36px;
	min-height: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.92);
	border: 1px solid var(--line);
	color: var(--ink-muted);
	cursor: pointer;
	font-size: 0;
	transition: color 160ms ease, border-color 160ms ease;
}
.fnc--products--listhoritem__favor .js__favor__button::before {
	content: '';
	width: 17px;
	height: 17px;
	background-color: currentColor;
	-webkit-mask: var(--icon-heart) center / contain no-repeat;
	mask: var(--icon-heart) center / contain no-repeat;
}
.fnc--products--listhoritem__favor .js__favor__button.favor--item__active { color: var(--accent); border-color: var(--accent); }
.fnc--products--listhoritem__favor .js__favor__button.favor--item__active::before {
	-webkit-mask: var(--icon-heart-fill) center / contain no-repeat;
	mask: var(--icon-heart-fill) center / contain no-repeat;
}
.fnc--products--listhoritem__shopinfo { grid-area: shop; align-self: end; display: flex; flex-direction: column; gap: 10px; width: 200px; padding: 0; }
.fnc--products--listhoritem__price { min-height: 0; padding: 0; font-size: 20px; font-weight: 800; color: var(--ink); text-align: left; }
.fnc--products--listhoritem__price > div:not([class]) { display: block; }
.fnc--products--listhoritem__price span { font-size: 13px; font-weight: 600; color: var(--ink-muted); }
.fnc--products--listhoritem__price:has(.fnc--products--listitem__actprice) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.fnc--products--listhoritem__price .fnc--products--listitem__actprice { order: 1; color: var(--accent); }
.fnc--products--listhoritem__price .fnc--products--listitem__oldprice { order: 2; padding: 0; font-size: 13px; font-weight: 400; color: var(--ink-faint); text-decoration: line-through; }
.fnc--products--listhoritem__price .fnc--products--listitem__oldprice span { font-size: 13px; font-weight: 400; color: var(--ink-faint); }
.fnc--products--listhoritem__buy { width: 100%; min-height: 0; }
.fnc--products--listhoritem__buy .js__add--tocart {
	width: 100%;
	min-height: 44px;
	background: var(--accent);
	color: #fff;
	border: 1px solid var(--accent);
	border-radius: 0;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
	cursor: pointer;
}
.fnc--products--listhoritem__buy .js__add--tocart:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
@media (max-width: 640px) {
	.fnc--products--listhoritem__inner { grid-template-columns: 112px minmax(0,1fr); }
	.fnc--products--listhoritem__main { grid-template-columns: minmax(0,1fr); grid-template-areas: "name" "info" "shop"; padding: 12px 12px 12px 4px; }
	.fnc--products--listhoritem__info { -webkit-line-clamp: 2; }
	.fnc--products--listhoritem__shopinfo { width: 100%; margin-top: 10px; }
}
.fnc--products--listhoritem__image { flex-basis: auto; height: auto; width: 100%; min-width: 0; padding: 12px; }
.fnc--products--listhoritem__image img { max-height: 100%; }
.fnc--products--listhoritem__main { padding-left: 8px; min-width: 0; }
.fnc--products--listhoritem__inner { min-width: 0; }
.fnc--page--label { margin-left: 6px; }
.fnc--page--label::before { content: '\00B7\00A0'; }

/* ---------- 24. Картка слайдерів (головна, «З цим часто беруть», обране…) — як у сітці каталогу (§20).
   Кнопка «ДО КОШИКА» лишається контурною, великими літерами — фішка слайдерів. ---------- */
.fnc--slider--listitem { align-items: stretch; text-align: left; }
.fnc--slider--listitem .fnc--items--slider__main { display: flex; flex-direction: column; }
.fnc--slider--listitem .fnc--items--slider__image { order: 1; padding: 12px; border-bottom: 0; }
.fnc--slider--listitem .fnc--items--slider__name {
	order: 2;
	min-height: calc(2 * 1.3em + 12px);
	padding: 12px 12px 0;
	font-size: 15px;
	text-align: left;
}
.fnc--slider--listitem .fnc--products--slider__shopinfo { margin-top: 0; padding: 8px 12px 12px; }
.fnc--slider--listitem .fnc--products--slider__price { min-height: 0; padding: 0; font-size: 20px; font-weight: 800; text-align: left; }
.fnc--slider--listitem .fnc--products--slider__price span { font-size: 13px; }
.fnc--slider--listitem .fnc--products--slider__price:has(.fnc--products--listitem__actprice) { flex-direction: row; align-items: baseline; justify-content: flex-start; }
.fnc--slider--listitem .fnc--products--listitem__oldprice,
.fnc--slider--listitem .fnc--products--listitem__oldprice span { font-size: 13px; font-weight: 400; color: var(--ink-faint); }
.fnc--slider--listitem .fnc--products--slider__additional { top: 12px; right: 12px; }
.fnc--slider--listitem .fnc--products--slider__favor .js__favor__button { width: 36px; height: 36px; }

/* hover ♥ у картках (сітка, список, слайдери): акцентний колір і рамка; раніше вендорський hover перекривався */
.fnc--products--listitem__favor .js__favor__button:hover,
.fnc--products--listhoritem__favor .js__favor__button:hover,
.fnc--products--slider__favor .js__favor__button:hover { color: var(--accent); border-color: var(--accent); background-color: #fff; }

/* ---------- 25. Мобільний каталог: липкий рядок «Фільтр | Сортувати» 48px (ТЗ §6) ---------- */
@media (max-width: 899px) {
	.fnc--itemshow--container { position: sticky; top: 102px; z-index: 20; background: var(--page); }
	.mobile--show--filters button,
	.fnc--itemshow--container .fnc--sorting__title,
	.fnc--itemshow--container .js__sort--button { min-height: 48px; }
}
