@font-face {
    font-family: 'StardosStencil-Regular';
    src: url('/catalog/view/theme/moysan/fonts/StardosStencil-Regular.woff2') format('woff2');
	font-weight: 400;
    font-style: normal;
    font-display: swap;
}
:root {
    --color-corp1: #910F11;
    --color-corp1-hover: #a6090b;
    --color-corp2: #A87861;
    --color-corp2-hover: #c08b71;
    --color-green: #697D2B;
    /* --color-green-hover: #718b20; */
    --color-green-hover: #789323;
    --color-grey: #999999;
    --color-grey2: #cccccc;
    --color-dark: #444444;
	--color-pale-creama: #fff9f0;
	--color-pale-crema-hover: #fff2de;
}

body {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 16px;
	line-height: 1.5;
	width: 100%;
}
h1, h2, h3, h4, h5, h6, a {
	color: #444;
}
/* default font size */
.fa {
	font-size: 24px;
	margin-inline: 8px;
}
/* Override the bootstrap defaults */
a:hover,
a:focus,
a:active {
	text-decoration: none;
	outline: none;
}
h1 {
	margin: 0;
	font-size: 24px;
}
h2 {
	font-size: 27px;
	margin-top: 10px;
}
h3 {
	font-size: 21px;
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 12px;
}
h6 {
	font-size: 10.2px;
}

legend {
	font-size: 18px;
	padding: 7px 0px
}
label {
	font-size: 12px;
	font-weight: normal;
}
select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
	font-size: 16px;
    min-height: 43px;
    box-shadow: none;
	resize: none;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	font-size: 12px;
}
.input-group .input-group-addon {
	font-size: 12px;
	height: 30px;
}
/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
	display: inline;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  display: grid;
  grid-template-columns: 140px auto auto auto;
  grid-template-rows: auto;
  align-items: center;
  padding-inline: 10px;
  background-color: #ffffffe3;
  backdrop-filter: blur(4px);
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 16px;
  transition: box-shadow 0.3s ease;
}
h1 a {
	color: #fff;
	font-family: 'StardosStencil-Regular', system-ui;
	font-weight: 400;
}
h1 a:focus {
	color: #fff;
	outline: none;
}
#logo {
	display: flex;
    height: 100%;
	max-width: 140px;
    padding: 6px 16px;
    justify-content: center;
    align-items: center;
	letter-spacing: 0.02em;
    background-color: var(--color-corp1);
}
.activity {
	max-width: 120px;
	font-size: 14px;
	grid-column: 2 / 4;
	justify-self: center;
	line-height: 1.2;
    text-align: center;
    color: var(--color-dark);
}
.btns-header {
	grid-column: 4 / 5;
	justify-self: end;
	white-space: nowrap;
}
@media (min-width: 767px) {
  .site-header {
	padding-inline: 15px;
  }
  .activity {
	grid-column: 2 / 3;
	padding-inline: 15px;
	justify-self: start;
  }
  h1 a {
	font-size: 28px;
  }
}
.container {
	padding-inline: 10px;
	width: 100%;
}

@media (min-width: 500px) {
	.container {
		padding-inline: 15px;
	}
}
/* top */
#top {
	background-color: #EEEEEE;
	border-bottom: 1px solid #e2e2e2;
	padding: 4px 0px 3px 0;
	margin: 0 0 20px 0;
	min-height: 40px;
}
#top .container {
	padding: 0 20px;
}
#top #form-currency .currency-select,
#top #form-language .language-select {
	text-align: left;
}
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#top .btn-link, #top-links li, #top-links a {
	color: #888;
	text-shadow: 0 1px 0 #FFF;
	text-decoration: none;
}
#top .btn-link:hover, #top-links a:hover {
	color: #444;
}
#top-links .dropdown-menu a {
	text-shadow: none;
}
#top-links .dropdown-menu a:hover {
	color: #FFF;
}
#top .btn-link strong {
	font-size: 14px;
        line-height: 14px;
}
#top-links {
	padding-top: 6px;
}
#top-links a + a {
	margin-left: 15px;
}

/* search */
.search {
	grid-row: 2 / 3;
	grid-column: span 4;
	margin-block: 3px;
}
#search {
	/* margin-bottom: 10px; */
}
#search .input-lg {
	height: 43px;
	line-height: 20px;
	padding: 0 10px;
	border: 3px solid var(--color-green);
    box-shadow: inset 0 0 3px 0px var(--color-green-hover);
}
#search .btn-lg {
	height: 43px;
	font-size: 15px;
	line-height: 18px;
	padding-inline: 16px;
	text-shadow: 0 1px 0 #FFF;
}
@media (min-width: 767px) {
	.search {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}
}


/* === HERO-БАННЕР === */
.hero-banner {
  position: relative;
  width: 100%;
  height: 45svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: #0a0a0a;
}

.hero-background {
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 100%;
    z-index: 1;
}

.hero-background img {
	height: 100%;
	width: auto;
}

/* Контейнер для видео */
.hero-video-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 100%;
    z-index: 50;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    pointer-events: none; /* Чтобы клики проходили сквозь видео */
}

.hero-video-container.loaded {
    opacity: 1;
}

.hero-video-container video {
    height: 100%;
    width: auto;
    object-fit: cover;
}

/* Адаптивность для мобильных */
@media (max-width: 500px) {
    .hero-video-container video {
        max-height: 50svh;
    }
}

.hero-title {
    z-index: 200;
    text-align: center;
    font-size: 28px;
	font-weight: 600;
    line-height: 1.15;
    color: #f4f4f4;
}

.hero-subtitle {
	z-index: 200;
    text-align: center;
    margin-top: 10px;
    font-size: 16px;
    color: #ececec;
}

.assortment {
	display: grid;
	grid-template: auto / repeat(3, 1fr);
    gap: 6px;
	padding: 0;
	margin: 0;
}

.assortment__item {
	height: 100%;
	border: 1px solid var(--color-grey2);
	border-radius: 32px;
	overflow: hidden;
	background-color: var(--color-pale-creama);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.2s;
}

.assortment__img {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: 8px;
	font-size: 12px;
	text-align: center;
}

.assortment__img img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.assortment__item-name {
	margin: 0 0 15px;
	font-size: 12px;
	font-weight: 400;
	text-align: center;
	padding-inline: 5px;
	color: var(--color-dark);
}

@media (max-width: 359px) {
	.assortment {
		grid-template: auto / repeat(2, 1fr);
		gap: 4px;
	}
}
@media (min-width:500px) and (max-width: 1023px) {
	.assortment {
		display: grid;
		grid-template: auto / repeat(4, 1fr);
		gap: 15px;
		margin-block: 20px;
	}
	.assortment__item-name {
		font-size: 16px;
	}
}
@media (min-width: 1024px) {
	.assortment {
		grid-template: auto / repeat(6, 1fr);
		gap: 20px;
	}
	.assortment__img {
		padding: 15px;
	}
	.assortment__item-name {
		font-size: 16px;
	}
}

/* slider */


/* === СЛАЙДЕР ТОВАРА === */
.product-slider-container {
    position: relative;
    margin-bottom: 30px;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f9fa;
}

.product-swiper {
    width: 100%;
    height: auto;
}

.product-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.product-swiper img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Показываем стрелки только если есть несколько фото */
/* Слайдер товара — предотвращаем вертикальное отображение */
.swiper-wrapper {
    display: flex !important;
}

.swiper-slide {
    flex-shrink: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Скрываем слайдер до инициализации */
.product-swiper:not(.swiper-initialized) {
    visibility: hidden;
    opacity: 0;
}

.product-swiper.swiper-initialized {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.product-swiper .swiper-slide {
	padding: 0;
}

:is(.swiper-button-prev, .swiper-button-next)::after {
	color: #afafaf;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
    width: 8px;
    height: 8px;
}

.swiper-pagination-bullet-active {
	opacity: 1;
	background: #afafaf;
}

.nav-tabs {
	margin-block: 16px;
}

.list-unstyled h2::after {
	display: inline-block;
    margin: 6px 0 6px 8px;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #3bb53b;
}

.size-remark {
	margin-bottom: 16px;
	font-size: 14px;
	color: var(--color-grey);
	line-height: 7px;
}

div.required .control-label {
	margin-bottom: 8px;
    font-size: 14px;
    color: var(--color-grey);
}

.stock-status {
  color: var(--color-green);
  font-size: 14px;
  line-height: 0;
}

.box-options {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  text-align: center;
}


/* === КНОПКИ РАЗМЕРОВ В КАРТОЧКЕ ТОВАРА === */

.radio {
	margin: 0;
}

.radio+.radio {
	margin: 0;
}

.radio label {
	padding: 10px 0;
    display: flex;
	justify-content: center;
    width: 100%;
	border-radius: 32px;
	font-size: 14px;
	color: var(--color-dark);
	border: 1px solid var(--color-grey);
	cursor: pointer;
	transition: all 0.2s ease;
	line-height: 16px;
	margin: 0;
}

#payment-method .radio label {
	display: inline-block;
	width: auto;
	padding-inline: 10px;
	margin-right: 10px;
}

.radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio input:checked + label:not(.in-cart) {
	background-color: var(--color-grey);
	border: 1px solid var(--color-grey);
	color: #ffffff;
}

.radio label.in-cart {
	color: #ffffff;
	background-color: var(--color-green);
	border: 1px solid var(--color-green);
}

.radio input:checked + label.in-cart {
	background-color: var(--color-green-hover);
	box-shadow: 0 0 0px 3px navajowhite;
}


.buy-action {
	margin-block: 28px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.quantity-control {
	display: flex;
    width: 100%;
    justify-content: space-between;
    border-radius: 32px;
    background-color: navajowhite;
}

.qty-btn {
	width: 30%;
	height: 43px;
	border: none;
	outline: none;
	padding-bottom: 5px;
	font-size: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s ease;
	background: none;
}

#input-quantity {
	width: 40%;
	height: 43px;
	text-align: center;
	font-size: 16px;
	color: var(--color-dark);
	background-color: #fff;
	border: none;
	outline: none;
	border-radius: 0;
	box-shadow: none;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

/* Скрыть стрелки у input type="number" в Chrome, Safari, Edge, Opera */
#input-quantity::-webkit-outer-spin-button,
#input-quantity::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Скрыть стрелки в Firefox */
#input-quantity[type=number] {
	-moz-appearance: textfield;
}

#cart-link-btn {
	width: 40%;
	max-width: 180px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-green);
    color: #ffffff;
    text-decoration: none;
    border-radius: 32px;
    font-size: 14px;
	font-weight: 600;
    transition: all 0.2s ease;
	opacity: 0;
	pointer-events: none;
}

#cart-link-btn.appeared {
	opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

#cart-link-btn:hover {
    background-color: var(--color-green-hover);
}

@media (max-width: 340px) {
	.box-options {
		grid-template-columns: repeat(4, 1fr);
	}
	.radio label {
		font-size: 12px;
		padding-block: 8px;
	}
	.qty-btn {
		width: 32px;
		height: 32px;
	}
	#input-quantity {
		width: 43px;
		height: 32px;
		font-size: 14px;
	}
	#cart-link-btn {
		height: 32px;
		font-size: 12px;
	}
}

@media (min-width: 767px) and (max-width: 1023px) {
	.hero-title {
		font-size: 32px;
	}
	.box-options {
		grid-template-columns: repeat(7, 1fr);
		gap: 6px;
	}
}

@media (min-width: 1024px) {
	.hero-title {
		font-size: 32px;
	}
	.box-options {
		grid-template-columns: repeat(10, 1fr);
		gap: 6px;
	}
	#cart-link-btn {
		font-size: 16px;
	}
	#input-quantity {
		font-size: 18px;
	}
	.buy-action {
		justify-content: end;
	}
}


/* cart */
#cart {
	margin-bottom: 10px;
}
#cart > .btn {
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
}
#cart.open > .btn {
	background-image: none;
	background-color: #FFFFFF;
	border: 1px solid #E6E6E6;
	color: #666;
	box-shadow: none;
	text-shadow: none;
}
#cart.open > .btn:hover {
	color: #444;
}
#cart .dropdown-menu {
	background: #eee;
	z-index: 1001;
}
#cart .dropdown-menu {
	min-width: 100%;
	overflow-y: auto;
	max-height: 800px;
	scrollbar-width: thin;
	overflow-x: hidden;
}
@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
	}
}
#cart .dropdown-menu table {
	margin-bottom: 10px;
}
#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
}
@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
	}
}
#cart .dropdown-menu li p {
	margin: 20px 0;
}

/* menu */
#menu {
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
	min-height: 40px;
}
#menu .nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}
#menu .nav > li > a:hover, #menu .nav > li.open > a {
	background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
	padding-bottom: 0;
}
#menu .dropdown-inner {
	display: table;
}
#menu .dropdown-inner ul {
	display: table-cell;
}
#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 3px 20px;
	clear: both;
	line-height: 20px;
	color: #333333;
	font-size: 12px;
}
#menu .dropdown-inner li a:hover {
	color: #FFFFFF;
}
#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #229ac8;
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}
@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
	}
	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}
	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding-bottom: 10px;
		background-color: rgba(0, 0, 0, 0.1);
	}
	#menu .dropdown-inner {
		display: block;
	}
	#menu .dropdown-inner a {
		width: 100%;
		color: #fff;
	}
	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}
	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}
/* content */
#content {
	min-height: 600px;
}
/* footer */
footer {
  width: 100%;
  padding: 70px 16px;
  background-color: #303030;
  color: #e2e2e2;
  font-size: 16px;
  line-height: 2.5;
  text-align: center;
  margin-top: 24px;
}

footer a {
  color: #ccc;
  text-decoration: none;
}
/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}
/* breadcrumb */
.breadcrumb {
	margin: 0 0 16px 0;
	padding: 0;
	border: none;
	background-color: transparent;
}
.breadcrumb i {
	font-size: 16px;
}
.breadcrumb > li {
	white-space: nowrap;
}
.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}
.breadcrumb > li:not(:last-of-type):after {
	content: '/';
	margin-inline: 8px;
}
.fa-home:before {
    content: "Главная";
    font-family: 'Inter';
}
.pagination {
	margin: 0;
}

/* buttons */
.buttons {
	margin: 1em 0;
}
.btn {
	padding: 7.5px 12px;
	font-size: 14px;
	/* border: 1px solid #cccccc; */
	border-radius: 4px;
	outline: none;
	/* box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); */
}
.btn-xs {
	font-size: 9px;
}
.btn-sm {
	font-size: 10.2px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
	font-size: 12px;
}
.btn-group > .btn-xs {
	font-size: 9px;
}
.btn-group > .btn-sm {
	font-size: 10.2px;
}
.btn-group > .btn-lg {
	font-size: 15px;
}
.btn-default {
	color: #777;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #e7e7e7;
	background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
	background-repeat: repeat-x;
	border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}
.btn-primary {
	color: #ffffff;
	/* text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); */
	background-color: var(--color-green);
	border-color: var(--color-green);
	border-radius: 32px;
	/* background-image: linear-gradient(to bottom, #23a1d1, #1f90bb); */
	/* background-repeat: repeat-x; */
}
.btn-primary:focus, .btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	background-color: var(--color-green-hover);
	border-color: var(--color-green-hover);
	outline: none;
	/* background-position: 0 -15px; */
}
.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #df5c39;
	background-image: linear-gradient(to bottom, #e06342, #dc512c);
	background-repeat: repeat-x;
	border-color: #dc512c #dc512c #a2371a;
}
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}
.btn-link {
	border-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	color: #23A1D1;
	border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}
.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
	background-color: #222222;
	background-image: linear-gradient(to bottom, #333333, #111111);
}
/* list group */
.list-group a {
	border: 1px solid #DDDDDD;
	color: #888888;
	padding: 8px 12px;
}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	color: #444444;
	background: #eeeeee;
	border: 1px solid #DDDDDD;
	text-shadow: 0 1px 0 #FFF;
}
/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}
.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}
.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}
/* product list */
#product-category .row {
	margin: 0;
}
#product-category #content {
	padding: 0;
}
.row.block-category {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
}
.row.block-category::before {
	display: none;
}
@media (min-width: 500px) and (max-width: 1023px) {
	.row.block-category {
		grid-template: auto / repeat(4, 1fr);
        gap: 15px;
	}
}
@media (min-width: 1024px) {
	.row.block-category {
		grid-template: auto / repeat(6, 1fr);
        gap: 20px;
	}
}
.product-thumb {
	height: 100%;
    border: 1px solid var(--color-grey2);
    border-radius: 32px;
    overflow: hidden;
    background-color: var(--color-pale-creama);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.2s;
}
@media (hover: hover) and (pointer: fine) {
	.product-thumb:hover {
		transform: translateY(-2px);
        background-color: var(--color-pale-crema-hover);
	}
}
.product-thumb .image {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: 8px;
	font-size: 12px;
	text-align: center;
}
.product-thumb .image a {
	display: block;
}
/* .product-thumb .image a:hover {
	opacity: 0.8;
} */
.product-thumb .image img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.product-grid .product-thumb .image {
	float: none;
}
@media (min-width: 767px) {
.product-list .product-thumb .image {
	float: left;
	padding: 0 15px;
}
}
.product-thumb h4 {
	font-size: 12px;
	font-weight: 400;
	text-align: center;
    margin-bottom: 10px;
    margin-top: 0;
}
@media (min-width: 500px) {
	.product-thumb h4 {
		font-size: 16px;
		margin-bottom: 20px;
	}
}
.product-thumb .caption {
	padding: 0 20px;
	/* min-height: 180px; */
}
.product-thumb .caption > h4 + p {
	height: 70px;
	overflow: hidden;
}
.product-list .product-thumb .caption {
	margin-left: 230px;
}
@media (max-width: 1200px) {
.product-grid .product-thumb .caption {
	min-height: 210px;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.product-list .product-thumb .caption {
	min-height: 0;
	margin-left: 0;
	padding: 0 10px;
}
.product-grid .product-thumb .caption {
	min-height: 0;
}
}
.product-thumb .rating {
	padding-bottom: 10px;
}
.rating .fa-stack {
	font-size: 8px;
}
.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}
.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}
.rating .fa-star + .fa-star-o {
	color: #E69500;
}
h2.price {
	margin: 0;
}
.product-thumb .price {
	color: #444;
}
.product-thumb .price-new {
	font-weight: 600;
}
.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}
.product-thumb .price-tax {
	color: #999;
	font-size: 12px;
	display: block;
}
.product-thumb .button-group {
	border-top: 1px solid #ddd;
	background-color: #eee;
	overflow: auto;
}
.product-list .product-thumb .button-group {
	border-left: 1px solid #ddd;
}
@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}
.product-thumb .button-group button {
	width: 60%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #eee;
	color: #888;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #ddd;
}
.product-thumb .button-group button:hover {
	color: #444;
	background-color: #ddd;
	text-decoration: none;
	cursor: pointer;
}
@media (max-width: 1200px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
}
.thumbnails > li {
	margin-left: 20px;
}
.thumbnails {
	margin-left: -20px;
}
.thumbnails > img {
	width: 100%;
}
.product-main-image {
    background-color: #000000;
    padding: 0;
    margin-bottom: 20px;
}

.product-main-image img {
    width: 100%;
    height: auto;
    display: block;
    cursor: default;
}
.image-additional a {
	margin-bottom: 20px;
	padding: 5px;
	display: block;
	border: 1px solid #ddd;
}
.image-additional {
	max-width: 78px;
}
.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:left;
	}
}

/* @media (min-width: 768px) {
    #column-left  .product-layout .col-md-3 {
       width: 100%;
    }

	#column-left + #content .product-layout .col-md-3 {
       width: 50%;
    }

	#column-left + #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }
}

#column-left .product-layout, #column-right .product-layout {
	width: 100%;
} */

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}
html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
    position: absolute;
    margin-top: 4px\9;
    margin-right: -20px;
      margin-left: unset;
}
html[dir=rtl] .input-group-btn:last-child > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
html[dir=rtl] .input-group .form-control:first-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
}
html[dir=rtl] .container .row:first-child  .col-sm-4, html[dir=rtl] .container .row:first-child  .col-sm-5 {
  float: right;

}
html[dir=rtl] #cart .dropdown-menu {
  left: 0;
  right: auto;

}
@media (hover: hover) and (pointer: fine) {
	h1 a:hover {
		color: #fffffff0;
	}
	.assortment__item:hover {
		transform: translateY(-2px);
		background-color: var(--color-pale-crema-hover);
	}
	#product .radio label:checked + .radio:not(.in-cart):hover {
		background-color: var(--color-corp1-hover);
		color: #ffffff;
	}
	#product .radio.in-cart:hover {
		background-color: var(--color-green-hover);
	}
	.cart-action-btn.has-items:hover {
		background-color: var(--color-green-hover);
	}
	footer a:hover {
		color: #fff;
	}
}

/* Обёртка для абсолютного позиционирования маски */
.buy-action-wrap {
    position: relative;
    display: flex;
    width: 45%;
    max-width: 180px;
    align-items: center;
}

/* Маска "Купить" поверх quantity-control */
.buy-mask-btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: #E07A1A;
    color: #fff;
    border: none;
	outline: none;
    border-radius: 32px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, opacity 0.2s;
}
.buy-mask-btn:hover {
    background-color: #C46A12;
}

/* Когда количество > 0 — маска скрыта */
.buy-action-wrap.has-qty .buy-mask-btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Navigation блок */
.navigation-block .radio {
    position: relative;
    display: inline-block;
    margin-right: 10px;
}

.navigation-block .current-page {
    font-weight: bold;
    color: #007bff;
    pointer-events: none;
}

.navigation-block .nav-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    cursor: pointer;
    text-decoration: none;
}

.navigation-block .nav-link-overlay:hover {
    background: rgba(0, 123, 255, 0.1);
    border-radius: 4px;
}

/* Handler блок остаётся без изменений */
.handler-block {
    /* твои существующие стили */
}