:root {
	--black: #2D2D2D;
	--black-filter: brightness(0);
	--white: #ffffff;
	--white-filter: brightness(0) invert(1);
	
	--light-gray: #f1f3f6;
	--gray: #bebebe;
	--dark-gray: #5b5b5b;

	--red: #c74b4b;
	--red-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
	--red-hover: #dd1212;

	--primary: #5F5F6A;
	--primary-match: #ffffff;
	--primary-hover: #4B4B59;
	--primary-filter: invert(72%) sepia(78%) saturate(1061%) hue-rotate(1deg) brightness(106%) contrast(104%);
	--primary-filter-match: brightness(0%) invert(100%);

	--accent: #393939;
	--accent-filter: invert(51%) sepia(88%) saturate(1757%) hue-rotate(4deg) brightness(111%) contrast(102%);
	--accent-match: #ffffff;
	--accent-filter-match: brightness(0%) invert(100%);
	--accent-hover: #000000;

	--border: #eaeaea;

	--header-height: 105px;
	--top-bar-height: 30px;
	--container-indent: 40px;

	--blocks-indent: 20px;
	--blocks-indent-10: 10px;
	--blocks-indent-15: 15px;
	--blocks-indent-20: 20px;
	--blocks-indent-25: 25px;
	--blocks-indent-30: 30px;
	--blocks-indent-cols: 20px;

	--products-in-col: 6;
	--products-indent-h: 20px;
	--products-indent-w: 20px;

	--full-width: 100vw;
	--scroll-bar: 0px;
	--side-bar: 0px;
	--blocks-indent-category: 0px;

	--font-family-1: "Montserrat";
	--font-family-2: "Fixel Display";

	--btn-height: 45px;
	--btn-height-small: 45px;
	--btn-padding: 0 26px;

	--border-radius-5: 5px;
	--border-radius-10: 10px;
	--border-radius-15: 15px;
	--border-radius-20: 20px;
	--border-radius-25: 25px;
	--border-radius-30: 30px;
	--border-radius-50: 50px;
	--border-radius-100: 100%;
}

/* Filter Services - Start */
/* https://isotropic.co/tool/hex-color-to-css-filter/ 
* https://cssfilterconverter.com/
* https://css-color-filter-generator.netlify.app/
* https://shturmovicc.github.io/hex-to-css-filter/
/* Filter Services - End */

@media (min-width: 1921px) {
	--full-width: 1920px;
}
@media (max-width: 1480px) {
	:root {
		--products-in-col: 5;
	}
}
@media (max-width: 1279px) {
	:root {
		--header-height: 60px;
		--container-indent: 20px;
		--products-in-col: 4;
	}
}
@media (max-width: 1024px) {
	:root {
		--products-in-col: 3;
	}
}
@media (max-width: 768px) {
	:root {
		--products-indent-h: 20px;
		--products-indent-w: 10px;
		--products-in-col: 2;
	}
}
@font-face {
	font-family: "Fixel Display";
	font-weight: 400;
	font-display: swap;
	src: url(/wp-content/themes/shop/fonts/fixel/fixel-display-400.woff2) format("woff2");
}
@font-face {
	font-family: "Fixel Display";
	font-weight: 500;
	font-display: swap;
	src: url(/wp-content/themes/shop/fonts/fixel/fixel-display-500.woff2) format("woff2");
}
@font-face {
	font-family: "Fixel Display";
	font-weight: 600;
	font-display: swap;
	src: url(/wp-content/themes/shop/fonts/fixel/fixel-display-600.woff2) format("woff2");
}
@font-face {
	font-family: "Montserrat";
	font-weight: 400;
	font-display: swap;
	src: url(/wp-content/themes/shop/fonts/montserrat/montserrat-400.woff2) format("woff2");
}
@media (pointer: fine) {
	:root {
		--scroll-bar: 6px;
	}
	::-webkit-scrollbar {
		width: var(--scroll-bar);
	}
	::-webkit-scrollbar-track {
		background-color: var(--black);
	}
	::-webkit-scrollbar-thumb {
		background: var(--primary);
		border-radius: 20px;
		border: 0px;
		transition: scrollbar-color 0.5s ease-out;
	}
	::-webkit-scrollbar-thumb:hover {
		background: var(--primary);
	}
	body *::-webkit-scrollbar {
		height: 3px;
		width: 3px;
	}
}
*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
    background-color: #1E1E1E;
	color: var(--white);
	font-family: var(--font-family-1);
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	box-sizing: border-box;
	-webkit-locale: auto;
	-webkit-text-size-adjust: none !important;
	-webkit-tap-highlight-color: transparent;
	cursor: default;
}
main {
	position: relative;
	top: var(--header-height);
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}
section {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0;
	overflow: hidden;
}
.container {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: calc(100% - var(--container-indent));
	width: calc(100% - var(--container-indent));
	margin: 0 (var(--container-indent) / 2);
}
.container-full {
	max-width: calc(100% - 0px);
	width: calc(100% - 0px);
	margin: 0 0;
}
.col-100 {
	width: 100%;
}
.col-75 {
	display: flex;
	flex-direction: column;
	width: calc(75% - var(--blocks-indent-cols) / 2);
}
.col-70 {
	display: flex;
	flex-direction: column;
	width: calc(70% - var(--blocks-indent-cols) / 2);
}
.col-66 {
	display: flex;
	flex-direction: column;
	width: calc(66.66% - var(--blocks-indent-cols) / 2);
}
.col-60 {
	display: flex;
	flex-direction: column;
	width: calc(60% - var(--blocks-indent-cols) / 2);
}
.col-60.c3 {
	width: calc(60% - var(--blocks-indent-cols) * 2 / 3);
}
.col-50 {
	display: flex;
	flex-direction: column;
	width: calc(50% - var(--blocks-indent-cols) / 2);
}
.col-40 {
	display: flex;
	flex-direction: column;
	width: calc(40% - var(--blocks-indent-cols) / 2);
}
.col-40.c3 {
	width: calc(40% - var(--blocks-indent-cols) * 2 / 3);
}
.col-40.c4 {
	width: calc(40% - var(--blocks-indent-cols) * 3 / 4);
}
.col-30 {
	display: flex;
	flex-direction: column;
	width: calc(30% - var(--blocks-indent-cols) / 2);
}
.col-30.c3 {
	display: flex;
	flex-direction: column;
	width: calc(30% - var(--blocks-indent-cols) * 2 / 3);
}
.col-33 {
	display: flex;
	flex-direction: column;
	width: calc(33.33% - var(--blocks-indent-cols) * 2 / 3);
}
.col-33.c2 {
	width: calc(33.33% - var(--blocks-indent-cols) / 2);
}
.col-25 {
	display: flex;
	flex-direction: column;
	width: calc(25% - var(--blocks-indent-cols) * 3 / 4);
}
.col-25.c2 {
	width: calc(25% - var(--blocks-indent-cols) / 2);
}
.col-25.c3 {
	width: calc(25% - var(--blocks-indent-cols) 2 / 3);
}
.col-20 {
	display: flex;
	flex-direction: column;
	width: calc(20% - var(--blocks-indent-cols) * 4 / 5);
}
.col-20.c2 {
	width: calc(20% - var(--blocks-indent-cols) / 2);
}
.col-20.c3 {
	width: calc(20% - var(--blocks-indent-cols) * 2 / 3);
}
.col-20.c4 {
	width: calc(20% - var(--blocks-indent-cols) * 3 / 4);
}
@media (max-width: 1279px) {
	.col-25 {
		width: calc(50% - var(--blocks-indent-cols) / 2);
	}
	.col-25.c2,
	.col-25.c3 {
		width: 100%;
	}
	.col-70,
	.col-66,
	.col-60,
	.col-60.c3,
	.col-50,
	.col-40,
	.col-40.c3,
	.col-33,
	.col-33.c2,
	.col-30.c3,
	.col-30,
	.col-20 {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.col-25 {
		width: 100%;
	}
}
.block-with-cols {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--blocks-indent-cols);
}
.indent-10 {
	gap: var(--blocks-indent-10)!important;
}
.indent-15 {
	gap: var(--blocks-indent-15)!important;
}
.indent-20 {
	gap: var(--blocks-indent-20)!important;
}
.indent-25 {
	gap: var(--blocks-indent-25)!important;
}
.indent-30 {
	gap: var(--blocks-indent-30)!important;
}
.flex-start {
	justify-content: flex-start;
}
.no-wrap,
.block-with-cols.no-wrap {
	flex-wrap: nowrap !important;
}
.relative {
	position: relative!important;
}
/* Gutenberg - Start */
.wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0;
}
.one-column {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
}
/* Gutenberg - End */

/* Размеры текстов - Start */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.wp-block-heading {
	font-family: var(--font-family-2);
	font-weight: 500;
	margin: 0;
}
.h1 {
	font-size: 42px;
	line-height: 44px;
}
h2,
.h2 {
	font-size: 42px;
	line-height: 44px;
}
h3,
.h3 {
	font-size: 30px;
	line-height: 32px;
}
h4,
.h4 {
	font-size: 25px;
	line-height: 27px;
}
h5,
.h5 {
	font-size: 20px;
	line-height: 22px;
}
h6,
.h6 {
	font-size: 18px;
	line-height: 20px;
}
p {
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 21px;
	font-weight: 400;
	margin: 0;
}
p.text-up-1 {
	font-size: 18px;
	line-height: 22px;
}
p.text-down-1 {
	font-size: 12px;
	line-height: 14px;
}
p a {
	word-break: break-all;
}
small {
	font-family: var(--font-family-1);
	font-size: 12px;
	line-height: 14px;
}
@media (max-width: 1480px) {
	.h1 {
		font-size: 42px;
		line-height: 44px;
	}
	h2,
	.h2 {
		font-size: 34px;
		line-height: 36px;
	}
	h3,
	.h3 {
		font-size: 20px;
		line-height: 22px;
	}
	h4,
	.h4 {
		font-size: 18px;
		line-height: 20px;
	}
	small {
		font-size: 12px;
		line-height: 14px;
	}
}
@media (max-width: 1279px) {
	h1,
	.h1 {
		font-size: 24px;
		line-height: 26px;
	}
	h2,
	.h2 {
		font-size: 24px;
		line-height: 26px;
	}
	h3,
	.h3 {
		font-size: 20px;
		line-height: 22px;
	}
	h4,
	.h4 {
		font-size: 20px;
		line-height: 22px;
	}
	p {
		font-size: 14px;
		line-height: 20px;
	}
}
/* Размеры текстов - End */

ul.menu {
	display: flex;
	gap: 15px;
	list-style: none;
	font-family: var(--font-family-2);
	font-size: 16px;
	line-height: 24px;
}
ul.menu#top-bar-menu {
	font-size: 14px;
	line-height: 17px;
}
a,
a p {
	color: inherit;
	outline: none;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
}
.link {
	transition: all 0.3s ease;
}
.link:hover {
	color: var(--black);
}
.hover-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.overlay:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}
.overlay > * {
	z-index: 1;
}
.overlay.overlay-dark:before {
	background: rgb(0 0 0 / 20%);
}
.underline {
	text-decoration: underline;
}
del {
	color: #d3d3d3;
}
ins {
	text-decoration: none;
}
.screen-reader-text {
	display: none!important;
}
figure.wp-block-image {
	max-width: 100%;
}
img {
	display: block;
	max-width: 100%;
	object-fit: cover;
	height: auto;
}
img.icon {
	object-fit: contain;
}
iframe {
	max-width: 100%;
}
.primary {
	color: var(--primary);
}
.primary-filter {
	filter: var(--primary-filter);
}
.accent {
	color: var(--accent);
}
.accent-filter {
	filter: var(--accent-filter);
}
.white-filter {
	filter: var(--white-filter);
}
.black-filter {
	filter: var(--black-filter);
}
.gray {
	color: var(--gray);
}
.light-gray {
	color: var(--light-gray);
}
.dark-gray {
	color: var(--dark-gray);
}
.black {
	color: var(--black);
}
.white {
	color: var(--white);
}

@media (min-width: 1280px) {
	.mob {
		display: none !important;
	}
}
@media (max-width: 1279px) {
	.pc {
		display: none !important;
	}
	.mob-fixed {
		overflow:hidden !important;
	}
}
/* КНОПКИ */
.btn-group {
	display: flex;
	align-items: center;
	gap: var(--blocks-indent);
	z-index: 1;
}
.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: var(--btn-height);
	width: fit-content;
	min-width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 14px;
	line-height: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	border-radius: 5px;
	cursor: pointer;
}
.btn span {
	font-family: var(--font-family-2);
	font-weight: 400;
	height: 12px;
	transition: all 0.3s ease;
}
.btn img {
	height: 14px;
	object-fit: contain;
	transition: filter 0.3s;
}
.btn-full {
	width: 100%;
}

/* Primary - Start */
.btn.btn-primary {
	background: var(--primary);
	padding: var(--btn-padding);
}
.btn.btn-primary span {
	color: var(--primary-match);
}
.btn.btn-primary:hover,
.btn.btn-primary.active {
	background: var(--primary-hover);
}
.btn.btn-primary:hover span,
.btn.btn-primary.active span {
	color: var(--primary-match);
}
.btn.btn-primary img {
	filter: brightness(0) invert(1);
}
/* Primary - End */

/* Dark - Start */
.btn.btn-dark {
	background: var(--black);
	padding: var(--btn-padding);
}
.btn.btn-dark span {
	color: var(--white);
}
.btn.btn-dark:hover,
.btn.btn-dark.active {
	background: var(--white);
}
.btn.btn-dark:hover span,
.btn.btn-dark.active span {
	color: var(--black);
}
.btn.btn-dark img {
	filter: brightness(0) invert(1);
}
.btn.btn-dark:hover > img,
.btn.btn-dark.active > img {
	filter: brightness(1) invert(0);
}
/* Dark - End */

/* White - Start */
.btn.btn-white {
	background: var(--white);
	padding: var(--btn-padding);
}
.btn.btn-white span {
	color: var(--black);
}
.btn.btn-white:hover,
.btn.btn-white.active {
	background: var(--primary);
}
.btn.btn-white:hover span,
.btn.btn-white.active span {
	color: var(--primary-match);
}
.btn.btn-white img {
	filter: brightness(1) invert(0);
}
.btn.btn-white:hover > img,
.btn.btn-white.active > img {
	filter: brightness(0) invert(1);
}
/* White - End */

/* Gray - Start */
.btn.btn-gray {
	padding: var(--btn-padding);
	background: var(--gray);
}
.btn.btn-gray span {
	color: var(--black);
}
.btn.btn-gray:hover,
.btn.btn-gray.active {
	background: var(--primary);
}
.btn.btn-gray:hover span,
.btn.btn-gray.active span {
	color: var(--primary-match);
}
/* Gray - End */

/* Red - Start */
.btn.btn-red {
	background: var(--red);
	padding: var(--btn-padding);
}
.btn.btn-red span {
	color: var(--white);
}
.btn.btn-red:hover,
.btn.btn-red.active {
	background: var(--red-hover);
}
.btn.btn-red:hover span,
.btn.btn-red.active span {
	color: var(--white);
}
.btn.btn-red img {
	filter: brightness(0) invert(1);
}
.btn.btn-red:hover > img,
.btn.btn-red.active > img {
	filter: brightness(0) invert(1);
}
/* Red - End */

/* Border - Start */
.btn.btn-border {
	background: transparent;
	border: 2px solid #6C6C6C;
	padding: var(--btn-padding);
}
.btn.btn-border span {
	color: var(--white);
}
.btn.btn-border:hover,
.btn.btn-border.active {
	background: var(--primary);
	border: 2px solid var(--primary);
}
.btn.btn-border:hover span,
.btn.btn-border.active span {
	color: var(--primary-match);
}
.btn.btn-border.primary {
	border: 2px solid var(--primary);
}
.btn.btn-border.primary span {
	color: var(--black);
}
.btn.btn-border.primary:hover,
.btn.btn-border.primary.active {
	background: var(--primary);
}
.btn.btn-border.primary:hover span,
.btn.btn-border.primary.active span {
	color: var(--primary-match);
}
.btn.btn-border.primary:hover img,
.btn.btn-border.primary.active img {
	filter: brightness(0) invert(0);
}
.btn.btn-border.red {
	border: 2px solid var(--red);
}
.btn.btn-border.red span {
	color: var(--red);
}
.btn.btn-border.red:hover,
.btn.btn-border.red.active {
	background: var(--red);
}
.btn.btn-border.red:hover span,
.btn.btn-border.red.active span {
	color: var(--white);
}
.btn.btn-border.red:hover img,
.btn.btn-border.red.active img {
	filter: var(--red-filter);
}
/* Border - End */

/* Special - Start */
.btn.btn-circle {
	height: 38px;
	width: 38px;
	padding: 9px;
	border: 1px solid var(--border);
	border-radius: 100%;
}
.btn.btn-small {
	height: var(--btn-height-small);
}
.disabled {
	background: var(--gray) !important;
}
.center {
	margin-left: auto !important;
	margin-right: auto !important;
}
.column {
	flex-direction: column !important;
}
.row {
	flex-direction: row !important;
}
.wrap {
	flex-wrap: wrap !important;
}
.inline {
	display: flex;
	align-items: center;
	gap: 4px;
}
/* Special - End */

/* КНОПКИ - End */

/* Cookie - Start */
#cookie-consent {
    position: fixed;
    bottom: calc(var(--container-indent) / 3);
    right: calc(var(--container-indent) / 2);
    display: flex;
    flex-direction: column;
    gap: var(--blocks-indent);
    width: 600px;
    max-width: calc(100% - var(--container-indent));
    padding: var(--blocks-indent);
    background: #252525;
    border-radius: var(--border-radius-5);
    box-shadow: 0px 0px 15px 0px #8e8e8e33;
	z-index: 1000;
}
@media (max-width: 1279px) {
	#cookie-consent {
		padding: 15px;
	}
}
/* Cookie - End */

/* Dropdown - Start */

/* Dropdown Simple - Start */
.dropdown-simple {
	position: relative;
	cursor: pointer;
}
.dropdown-simple .dropdown-box {
	position: absolute;
	top: calc(100% + 10px);
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: var(--white);
	width: max-content;
	padding: 15px;
	color: var(--black);
	border-radius: 5px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.dropdown-simple.active > .dropdown-box {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
/* Dropdown Simple - End */

/* Dropdown Complex - Start */
.dropdown-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--white);
	cursor: pointer;
	margin-top: 2px;
}
.dropdown-wrapper > .current-choise {
	color: var(--white);
}
.dropdown-wrapper > .dropdown-icon {
	min-width: 7px;
	width: 7px;
	height: 7px;
	object-fit: contain;
	filter: invert(1);
	margin-top: -2px;
}
.dropdown-wrapper > .dropdown-box {
	position: absolute;
	bottom: -81px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: var(--white);
	width: 85px;
	padding: 10px;
	color: var(--black);
	border-radius: 5px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.dropdown-wrapper.active > .dropdown-box {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.dropdown-wrapper > .dropdown-box .item-switch {
	display: flex;
	justify-content: space-between;
	gap: 5px;
	color: var(--black);
}
/* Dropdown Complex - End */

/* Dropdown - End */

/* Breadcrumb - Start */
.woocommerce-breadcrumb {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px !important;
	line-height: 14px !important;
	padding: 30px calc(var(--container-indent) / 2) 30px calc(var(--container-indent) / 2) !important;
	margin: 0 !important;
	color: var(--black) !important;
	overflow-x: auto;
}
.woocommerce .woocommerce-breadcrumb:before {
	display: none !important;
}
.woocommerce-breadcrumb a {
	color: #bcbcbc !important;
	white-space: nowrap;
	transition: all 0.3s ease;
}
.woocommerce-breadcrumb a:hover {
	color: var(--black);
	white-space: nowrap;
	transition: all 0.3s ease;
}
.woocommerce-breadcrumb span {
	color: var(--black) !important;
	white-space: nowrap;
}
.woocommerce-breadcrumb svg {
	transform: translateY(0px);
}
/* Breadcrumb - End */
