@charset "utf-8";

/* User CSS */

/* Generic style fixes */
:root {
	--bs-body-bg: #fff;
	--bs-body-color: #000;
	--bs-body-font-family: "Open Sans", sans-serif;
	--bs-body-font-size: 1.125rem;
	--bs-border-color: #2694d1;
	--bs-border-radius: 0;
	--bs-box-shadow: none;
	--color-text-with-background: #fff;
	--color-primary: #2694d1;
	--vkusm-color-primary: #2694d1;
	--color-secondary: #eb6426;
	--vkusm-color-secondry: #eb6426;
	--color-tertiary: #777;
	--color-warning: #d50000;
	--line-height-text-generic: 1.8;
}

@media (prefers-color-scheme: dark) {
	:root {

	}
}

@media (prefers-reduced-motion: reduce) {
	:root {

	}
}

body {
	background-color: var(--bs-body-bg);
/* 	background-image: url("/images/site-background.png"); */
/* 	background-image: url("/images/site-background-pale.png"); */
/* 	background-image: url("/images/site-background-half-pale.png"); */
	background-image: url("/images/site-background-half-pale.webp");
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	font-family: var(--bs-body-font-family);
	font-size: var(--bs-body-font-size);
}

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

a:focus,
a:hover,
a:active {
	color: var(--color-primary);
}

img {
	max-width: 100%; /* Make all images responsive (same as .airis-image or BS's .img-fluid .*/
	height: auto; /* Make all images responsive (same as .airis-image or BS's .img-fluid .*/
}

@media (min-width: 992px) {
	.container {
		--bs-gutter-x: 0;
	}
}

p {
	margin: 0 0 1rem 0;
	line-height: var(--line-height-text-generic);
}

.top-margin-20 {
	margin-top: 1.25rem !important;
}

.bot-margin-20 {
	margin-bottom: 1.25rem !important;
}

.top-margin-40 {
	margin-top: 2.5rem !important;
}

.bot-margin-40 {
	margin-bottom: 2.5rem !important;
}

.no-top-margin {
	margin-top: 0 !important;
}

.no-bot-margin {
	margin-bottom: 0 !important;
}

.item-page .item-image {
	margin-bottom: 2rem;
}

ul {
	list-style-type: square;
	margin: 1.25rem 0;
}

ol {
	margin: 1.25rem 0;
}

li {
	line-height: var(--line-height-text-generic);
	margin-top: 0.75rem;
}

li:first-child {
	margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-align: center;
	font-weight: 600;
	margin: 0 0 1.5rem 0;
}

h1,
h2 {
	font-size: 1.75rem;
}

input[type="button"],
input[type="submit"],
.btn:not(.btn-close),
button:not(.navbar-toggler, .btn-close, .fancybox-button) {
	background: var(--color-primary);
	color: var(--color-text-with-background);
	border: none;
	padding: .5rem 1.5rem;
	min-height: 2.5rem;
	border-radius: 0;
	transition: none;
}

input[type="button"]:focus,
input[type="button"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.btn:not(.btn-close):focus,
.btn:not(.btn-close):hover,
.btn:not(.btn-close):active,
button:not(.navbar-toggler, .btn-close):focus,
button:not(.navbar-toggler, .btn-close):hover {
	background: var(--color-secondary);
	color: var(--color-text-with-background);
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"],
select,
select.form-select, /* Workaround for BS's overly specific styles */
textarea,
textarea.form-control { /* Workaround for BS's overly specific styles */
	background-color: var(--bs-body-bg);
	border: .125rem solid var(--color-secondary);
	border-radius: 0;
	padding: .5rem;
}

textarea {
	resize: none;
}

textarea.form-control {
	min-height: 8rem;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="date"]:focus,
select:focus,
select.form-select:focus,
textarea:focus,
textarea.form-control:focus {
	border-color: var(--color-primary);
}

select {
	padding-bottom: .4375rem; /* Visually same vertical paddings to the rest inputs, also explicit padding (along with background) is required by Firefox. */
	padding-top: .4375rem;
	min-height: 2.75rem; /* Visually the same explicit height for Firefox. */
}

textarea {
	padding: .5rem .75rem;
}

table {
	background: var(--bs-body-bg);
	border-color: var(--color-primary);
}

th,
td {
	border-color: var(--color-primary);
}

.invalid {
	border-color: var(--color-warning);
}

.inner-title {
	margin: 1.5rem 0;
}

.highlighted-text {
	color: var(--color-secondary);
}

.highlighted-text-uppercase {
	text-transform: uppercase;
}

/* Blocks inline style */
.blocks-inline {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.blocks-inline > div {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	margin-right: 2rem;
}

.blocks-inline > div:last-of-type {
	margin-right: 0;
}

/* Two inline */
@media (min-width: 992px) {
	.blocks-inline.two-inline > div {
		width: -webkit-calc((100% / 2) - (2rem - (2rem / 2)));
		width: -moz-calc((100% / 2) - (2rem  - (2rem / 2)));
		width: calc((100% / 2) - (2rem  - (2rem  / 2)));
		margin-top: 2rem;
	}

	.blocks-inline.two-inline > div:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.blocks-inline.two-inline > div:nth-of-type(even) {
		margin-right: 0;
	}
}

/* Three inline */
@media (min-width: 992px) {
	.blocks-inline.three-inline > div {
		width: -webkit-calc((100% / 3) - (2rem - (2rem / 3)));
		width: -moz-calc((100% / 3) - (2rem - (2rem / 3)));
		width: calc((100% / 3) - (2rem - (2rem / 3)));
	}

	.blocks-inline.three-inline > div:nth-of-type(3n) {
		margin-right: 0;
	}

	.blocks-inline.three-inline > div:nth-of-type(-n+3) {
		margin-top: 0;
	}
}

/* Four inline */
@media (min-width: 992px) {
	.blocks-inline.four-inline > div {
		width: -webkit-calc((100% / 4) - (2rem - (2rem / 4)));
		width: -moz-calc((100% / 4) - (2rem - (2rem / 4)));
		width: calc((100% / 4) - (2rem - (2rem / 4)));
	}

	.blocks-inline.four-inline > div:nth-of-type(4n) {
		margin-right: 0;
	}
}

/* Six inline */
@media (min-width: 1200px) {
	.blocks-inline.six-inline > div {
		width: -webkit-calc((100% / 6) - (2rem - (2rem / 6)));
		width: -moz-calc((100% / 6) - (2rem - (2rem / 6)));
		width: calc((100% / 6) - (2rem - (2rem / 6)));
	}

	.blocks-inline.six-inline > div:nth-of-type(6n) {
		margin-right: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.blocks-inline.six-inline > div {
		width: -webkit-calc((100% / 3) - (2rem - (2rem / 3)));
		width: -moz-calc((100% / 3) - (2rem - (2rem / 3)));
		width: calc((100% / 3) - (2rem - (2rem / 3)));
	}

	.blocks-inline.six-inline > div:nth-of-type(-n+3) {
		margin-top: 0;
	}

	.blocks-inline.six-inline > div:nth-of-type(3n) {
		margin-right: 0;
	}
}

/* Any number inline */
@media (min-width: 450px) and (max-width: 991.98px) {
	.blocks-inline > div {
		width: -webkit-calc((100% / 2) - (2rem - (2rem / 2)));
		width: -moz-calc((100% / 2) - (2rem - (2rem / 2)));
		width: calc((100% / 2) - (2rem - (2rem / 2)));
		margin-top: 2rem;
	}

	.blocks-inline > div:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.blocks-inline > div:nth-of-type(even) {
		margin-right: 0;
	}
}

@media (max-width: 449.98px) {
	.blocks-inline > div {
		width: 100%;
		margin-top: 2rem;
		margin-right: 0;
	}

	.blocks-inline > div:first-of-type {
		margin-top: 0;
	}
}

/* Component tmpl style used along with fancyBox modals */
.airis-page_template_component {
	background-image: unset;
}

.airis-page_template_component .page-header {
	margin-top: 3rem;
}

/* Company social links (generic style) */
.socials {
	display: -webkit-flex;
	display: flex;
}

.socials__item {
	line-height: normal;
	margin: 0 .75rem 0 0;
}

.socials__item:last-child {
	margin-right: 0;
}

.socials__link {

}

.socials__link:focus,
.socials__link:hover,
.socials__link:active {
	color: var(--color-primary);
}

.socials__icon {
	font-size: 2rem;
}

.header-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 1.5rem 0;
}

.header-wrap a {
	color: var(--bs-body-color);
}

.header-wrap a:focus,
.header-wrap a:hover,
.header-wrap a:active {
	color: var(--bs-body-color);
}

.header-logo-wrap {

}

.company-logo-and-title-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.company-logo-and-title-wrap a {
	color: var(--bs-body-color);
}

.company-logo-and-title-wrap > div:first-child {
	margin-right: 1rem;
}

.company-logo-and-title-wrap img {
	max-width: 12.5rem;
}

.company-logo-and-title-wrap > div:last-child {
	-webkit-align-self: flex-end;
	align-self: flex-end;
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: -.4375rem; /* Customer wants the bottom of the text string to be on the exactl same pixel line as the logo image. */
}

/* .company-logo-and-title-wrap > div:last-of-type > div:first-of-type {
	font-size: .875rem;
} */

/* .company-logo-and-title-wrap > div:last-of-type > div:last-of-type {
	font-size: 1.75rem;
	font-weight: 600;
} */

.header-contacts-area-wrap {
	text-align: right;
}

.contacts-and-working-hours-wrap {
	white-space: nowrap;
}

.contacts-and-working-hours-wrap > div:first-child {
	font-size: 1.75rem;
	font-weight: 700;
}

.contacts-and-working-hours-wrap > div:nth-child(2) {
	font-size: 1.5rem;
	font-weight: 700;
}

.contacts-and-working-hours-wrap > div:nth-child(3) {
	font-size: .875rem;
	margin-top: .3125rem;
}

.contacts-and-working-hours-wrap > div:nth-child(4) {
	font-size: .875rem;
}

.contacts-and-working-hours-wrap > div:last-child {
	margin-top: .625rem;
}

.contacts-and-working-hours-wrap > div:last-child > div:first-child > div:first-child {
	font-size: .875rem;
	font-weight: 600;
}

.contacts-and-working-hours-wrap > div:last-child > div:first-child > div:first-child a {
	border-bottom: .0625rem dashed var(--bs-body-color);
}

.contacts-and-working-hours-wrap .working-hours {
	margin: .125rem 0 0 0;
	font-size: .75rem;
	color: var(--color-tertiary);
}

@media (min-width: 992px) {
	.header-contacts-area-wrap .contacts-and-working-hours-wrap > div:last-child {
		display: -webkit-flex;
		display: flex;
	}

	.header-contacts-area-wrap .contacts-and-working-hours-wrap > div:last-child > div:first-child {
		-webkit-flex-basis: 100%;
		flex-basis: 100%;
	}

	.header-contacts-area-wrap .socials {
		-webkit-align-items: center;
		align-items: center;
		margin-left: 1.5rem;
	}
}

@media (max-width: 991.98px) {
	.header-wrap {
		display: block;
		text-align: center;
		margin: 1rem 0;
	}

	.header-wrap .company-logo-and-title-wrap {
		display: block;
	}

	.header-wrap .company-logo-and-title-wrap > div:first-child {
		margin: 0;
	}

	.company-logo-and-title-wrap img {
		max-width: 10rem;
	}

	.header-wrap .header-contacts-area-wrap {
		text-align: center;
		margin: 1rem 0 0 0;
	}

	.header-wrap .company-logo-and-title-wrap > div:last-child {
		margin: .625rem 0 0 0;
	}

	.company-logo-and-title-wrap > div:last-child > div:first-child {
		font-weight: normal;
		font-size: .75rem;
	}

	.contacts-and-working-hours-wrap {
		white-space: normal;
	}

	.contacts-and-working-hours-wrap > div:first-child,
	.contacts-and-working-hours-wrap > div:nth-child(2) {
		font-size: 1.125rem;
	}

	.contacts-and-working-hours-wrap > div:nth-child(3),
	.contacts-and-working-hours-wrap > div:nth-child(4) {
		font-size: .75rem;
		margin: 0;
	}

	.header-contacts-area-wrap .socials {
		-webkit-justify-content: center;
		justify-content: center;
		margin-top: .625rem;
	}
}

@media (max-width: 575.98px) {
	.header-wrap .company-logo-and-title-wrap > div:last-child > div:last-child {
		font-size: 1.25rem;
	}
}

/* Header menu */
.navbar {
	--bs-navbar-padding-y: 0;
}

.navbar .container-fluid {
	--bs-gutter-x: 0;
}

.airis-module-menu__link_menu-type_mainmenu {
	--bs-nav-link-padding-y: .625rem;
	--bs-navbar-nav-link-padding-x: 1rem;
	color: var(--bs-body-color);
	font-size: 1rem;
	font-weight: 600;
	transition: none;
}

.airis-module-menu__link_current,
.airis-module-menu__link_menu-type_mainmenu:focus,
.airis-module-menu__link_menu-type_mainmenu:hover,
.airis-module-menu__link_menu-type_mainmenu:active {
	color: var(--color-primary);
}

.airis-module-menu__toggler {
	background: var(--color-primary);
	border: none;
	border-radius: 0;
	margin-left: auto;
	padding: .375rem .5rem;
}

.airis-module-menu__toggler:focus {
	background: var(--color-secondary);
	box-shadow: none;
}

.airis-module-menu__toggler-icon {
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); /* The only difference from the standard Bootstrap navbar-toggler-icon is white color of stroke. */
}

.airis-module-menu__list_menu-type_mainmenu,
.airis-module-menu__item_menu-type_mainmenu {
	margin-top: 0;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.airis-module-menu__link_menu-type_mainmenu {
		--bs-navbar-nav-link-padding-x: .75rem;
		font-size: .875rem;
	}
}

@media (min-width: 992px) {
	.airis-module-menu_menu-type_mainmenu {
		padding: .125rem 0;
	}

	.airis-module-menu_menu-type_mainmenu {
		background: var(--bs-body-bg);
		border-bottom: .125rem solid var(--color-secondary);
		border-top: .125rem solid var(--color-primary);
	}

	.airis-module-menu__list_menu-type_mainmenu {
		-webkit-justify-content: center;
		justify-content: center;
		width: 100%;
	}

	.airis-module-menu__item_menu-type_mainmenu:first-child {
		background: var(--color-primary);
		color: var(--color-text-with-background);
		margin-right: auto;
	}

	.airis-module-menu__item_menu-type_mainmenu:last-child {
		background: var(--color-secondary);
		color: var(--color-text-with-background);
		margin-left: auto;
	}

	.airis-module-menu__item_menu-type_mainmenu:first-child .airis-module-menu__link_menu-type_mainmenu {
		background: var(--color-primary);
		color: var(--color-text-with-background);
		font-weight: 400;
		padding-left: 3rem;
		padding-right: 3rem;
	}

	.airis-module-menu__item_menu-type_mainmenu:first-child .airis-module-menu__link_menu-type_mainmenu:focus,
	.airis-module-menu__item_menu-type_mainmenu:first-child .airis-module-menu__link_menu-type_mainmenu:hover,
	.airis-module-menu__item_menu-type_mainmenu:first-child .airis-module-menu__link_menu-type_mainmenu:active {
		background: var(--color-secondary);
	}

	.airis-module-menu__item_menu-type_mainmenu:last-child .airis-module-menu__link_menu-type_mainmenu {
		background: var(--color-secondary);
		color: var(--color-text-with-background);
		font-weight: 400;
		padding-left: 3rem;
		padding-right: 3rem;
	}

	.airis-module-menu__item_menu-type_mainmenu:last-child .airis-module-menu__link_menu-type_mainmenu:focus,
	.airis-module-menu__item_menu-type_mainmenu:last-child .airis-module-menu__link_menu-type_mainmenu:hover,
	.airis-module-menu__item_menu-type_mainmenu:last-child .airis-module-menu__link_menu-type_mainmenu:active {
		background: var(--color-primary);
	}

	.airis-module-menu__item_menu-type_mainmenu:first-child .header-menu-highlighted-item-icon {
		margin-right: .5rem;
	}

	.airis-module-menu__item_menu-type_mainmenu:last-child .header-menu-highlighted-item-icon {
		margin-left: .5rem;
	}
}

@media (max-width: 991.98px) {
	.header-menu-highlighted-item-icon {
		display: none;
	}

	.airis-module-menu__list_menu-type_mainmenu {
		background: var(--color-text-with-background);
		border: .125rem solid var(--color-secondary);
		border-right-color: var(--color-primary);
		border-bottom-color: var(--color-primary);
		margin-top: 1.25rem;
	}

	.airis-module-menu__item_menu-type_mainmenu:not(:last-child) {
		border-bottom: .0625rem solid var(--color-primary);
	}

	.airis-module-menu__item_default {
		order: -1; /* The main page link goes first in dropdown menu */
	}

	.airis-module-menu__link_menu-type_mainmenu {
		text-align: center;
	}
}

/* Header forms section */
.header-forms {
	margin-bottom: 1rem;
}

@media (min-width: 768px) {
	.header-forms {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
	}
}

@media (min-width: 992px) {
	.header-forms {
		margin-top: 1.5rem;
	}
}

@media (max-width: 991.98px) {
	.header-forms {
		margin-top: 1.25rem;
	}
}

@media (max-width: 767.98px) {
	.header-forms__item {
		text-align: center;
		margin-bottom: 1rem;
	}

	.header-forms__item:last-child {
		margin-bottom: 0;
	}
}

/* VM search module */
@media (min-width: 768px) {
	.header-forms .search {
		display: -webkit-flex;
		display: flex;
	}

	.header-forms .button {
		margin-left: .75rem;
	}
}

@media (max-width: 767.98px) {
	.header-forms #mod_virtuemart_search {
		width: 100%;
	}

	.header-forms .button {
		margin-top: 1rem;
		width: 100%;
	}
}

/* VM login module */
.vkusm-module-login_sublayout_logout {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
}

.vkusm-module-login__button_action_logout {
	margin-left: .75rem;
}

.vkusm-module-login__link {
	border-bottom: .0625rem dashed var(--color-primary);
}

.vkusm-module-login__link:focus,
.vkusm-module-login__link:hover,
.vkusm-module-login__link:active {
	border-bottom-color: var(--color-secondary);
}

.vkusm-module-login__icon {
	margin-right: .3125rem;
}

.vkusm-module-login__link:focus .vkusm-module-login__icon,
.vkusm-module-login__link:hover .vkusm-module-login__icon,
.vkusm-module-login__link:active .vkusm-module-login__icon {
	color: var(--color-secondary);
}

@media (max-width: 767.98px) {
	.vkusm-module-login_sublayout_logout {
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
}

/* Sliders area style */
.slider-module-upper {
	margin-top: 1.5rem;
}

.slider-module-lower {
	margin-top: 1rem;
}

/* Slider style fixes */
.djslider-loader-default {
	background: none !important;
}

.djslider-default {
	transition: none !important;
}

.djslider .slide-desc-bg-default {
	background: var(--color-primary);
}

.djslider .navigation-container-custom .load-button {
	background: var(--bs-body-color);
	border: none;
	border-radius: 0;
	height: .625rem;
	width: .625rem;
}

.djslider .navigation-container-custom .load-button-active {
	background: var(--color-secondary);
}

.djslider .slide-desc-text-default {
	padding: .75rem 1rem 1rem 1rem;
}

.djslider .slide-desc-text-default .slide-title {
	font-weight: 600;
	color: var(--bs-body-bg);
	margin-bottom: 0;
	text-transform: none;
}

.djslider .slide-desc-text-default {
	color: var(--bs-body-bg);
	font-weight: normal;
	text-align: center;
}

@media (max-width: 575.98px) {
	.djslider .slide-desc-text-default .slide-title {
		font-size: 1rem;
	}

	.djslider .slide-desc-text-default .slide-text {
		font-size: .75rem;
	}
}

/* Asides and main */
.airis-aside,
.airis-main {
	margin-top: .5rem;
}

@media (min-width: 768px) {
	.airis-asides-single .airis-aside {
		min-width: 18rem;
	}
}

/* Disable aside with sidebar VM categories on mobiles. */
/* Only outside of catalog pages though because we have to make a new category layout for the root category instead of using a module there. */
/* @media (max-width: 991.92px) {
	.airis-aside-left:not(.airis-page_menu-item-id_134 .airis-aside-left) {
		display: none;
	}
} */

/* Just move the aside under the main for mobile view. */
@media (max-width: 991.92px) {
	.airis-asides-left {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	.airis-aside-left {
		order: 1;
		margin: 3rem 0 0 0 !important;
		width: unset !important;
	}
}

/* VirtueMart categories module base style */
.vm-category-menu-item {
	background: var(--bs-body-bg);
	border: .125rem solid var(--color-primary);
}

.vm-category-menu-item.blue-item {
	border-color: var(--color-primary);
}

.vm-category-menu-item.orange-item {
	border-color: var(--color-secondary);
}

.vm-category-menu-item > a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	color: var(--bs-body-color);
	font-weight: 700;
}

.vm-category-menu-item > a > div:first-of-type {
	margin-top: 0;
}

.vm-category-menu-item > a > div:first-of-type img {
	max-width: 5rem;
}

.vm-categories-menu .vm-category-menu-item > a > div:last-of-type {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	text-align: center;
	padding: 0 .3125rem;
}

/* Sidebar custom VM menu additional style */
aside .vm-categories-menu-group:not(:last-child),
aside .vm-category-menu-item:not(:last-child) {
	margin-bottom: .75rem;
}

aside .vm-categories-menu-group-title {
/*     display: none; */
	font-weight: 700;
	margin: 1.25rem 0 .75rem 0;
}

aside .vm-category-menu-item > a {
	font-size: 1rem;
	font-weight: 600;
}

/* Category view VM menu additional style */
.catalog-main-page-module {

}

.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group-without-title {
	margin-top: 25px;
}

.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-title {
	line-height: normal;
	font-size: 175%;
	font-weight: 700;
	margin: 25px 0;
}

.catalog-main-page-module .vm-categories-menu > div:first-of-type .vm-categories-menu-group-title {
	margin-top: 0;
}

.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div {
	margin: 30px 30px 0 0;
}

.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:last-of-type {
	margin-right: 0;
}

@media (min-width: 992px) {
	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div {
		width: -webkit-calc((100% / 3) - (2rem - (2rem / 3)));
		width: -moz-calc((100% / 3) - (2rem - (2rem / 3)));
		width: calc((100% / 3) - (2rem - (2rem / 3)));
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:nth-of-type(3n) {
		margin-right: 0;
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:nth-of-type(-n+3) {
		margin-top: 0;
	}
}

@media (min-width: 576px) and (max-width: 991.98px) {
	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div {
		width: -webkit-calc((100% / 2) - (2rem - (2rem / 2)));
		width: -moz-calc((100% / 2) - (2rem - (2rem / 2)));
		width: calc((100% / 2) - (2rem - (2rem / 2)));
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:nth-of-type(even) {
		margin-right: 0;
	}
}

@media (max-width: 575.98px) {
	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-title {
		text-align: center;
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div {
		width: 100%;
		margin-right: 0;
	}

	.catalog-main-page-module .vm-categories-menu .vm-categories-menu-group .vm-categories-menu-group-items > div:first-of-type {
		margin-top: 0;
	}
}

/* VM categories view style */
.vm-page-title {
	margin: 0 0 1.5rem 0;
}

.category-view {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

.vm-empty-category-caption {
	text-align: center;
	width: 100%;
}

.category-view > .category {
	text-align: center;
	margin: 2.25rem 1rem 0 0;
}

.category-view .category a {
	color: #000 !important;
	text-decoration: none;
}

.category-view .category .category-image img {

}

.category-view .category .category-title {
	font-size: 125%;
	font-weight: 600;
	margin-top: 10px;
}

@media (min-width: 768px) {
	.category-view > .category {
		width: -webkit-calc((100% / 3) - (15px - (15px / 3)));
		width: -moz-calc((100% / 3) - (15px - (15px / 3)));
		width: calc((100% / 3) - (15px - (15px / 3)));
	}

	.category-view > .category:nth-of-type(3n) {
		margin-right: 0;
	}

	.category-view > .category:nth-of-type(-n+3) {
		margin-top: 0;
	}
}

@media (min-width: 480px) and (max-width: 767.98px) {
	.category-view > .category {
		width: -webkit-calc((100% / 2) - (15px - (15px / 2)));
		width: -moz-calc((100% / 2) - (15px - (15px / 2)));
		width: calc((100% / 2) - (15px - (15px / 2)));
	}

	.category-view > .category:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.category-view > .category:nth-of-type(even) {
		margin-right: 0;
	}
}

@media (max-width: 479.98px) {
	.category-view > .category {
		width: 100%;
		margin: 40px 0 0 0;
	}

	.category-view > .category:first-of-type {
		margin-top: 0;
	}
}

/* VM category products view style */
/* Catalog products view style */
.category-view .browse-view {
	width: 100%;
}

.orderby-displaynumber {
	border: none;
	margin: 0 0 1rem 0;
	padding: 0;
}

.orderby-displaynumber .display-number {
	text-align: right;
}

.orderby-displaynumber .display-number > div {
	display: inline-block;
}

.orderby-displaynumber .display-number > div:first-of-type {
	margin-right: .625rem;
	vertical-align: middle;
	font-size: 1rem;
}

.orderby-displaynumber select {
	border-radius: 0;
	outline: none;
	width: auto;
	margin: 0;
}

.orderby-displaynumber select::-ms-expand {
	border: none;
	background: transparent;
}

.products-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	line-height: normal;
}

.products-wrap .product {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin: 2.25rem 1rem 0 0;
	text-align: center;
}

.products-wrap .product:last-child {
	margin-right: 0;
}

.products-wrap .product > div {
	width: 100%;
}

.products-wrap .product .product-image img {
	background: #2694d1;
	border: .125rem solid #2694d1;
}

.products-wrap .product .product-title {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	margin: .625rem auto 0 auto;
}

.products-wrap .product .product-title a {
	color: #000;
	font-size: 1rem;
	font-weight: 600;
	line-height: normal;
}

.products-wrap .product .product-description {
	max-width: 12rem;
	margin: .625rem auto;
}

.products-wrap .product .product-prices {
	font-size: 1.75rem;
	color: #000;
	font-weight: 600;
}

.products-wrap .product .product-prices .PricediscountAmount {
	color: #d50000;
	font-size: 80%;
	margin-top: -5px;
}

.products-wrap .product .product-prices i {
	font-size: 75%;
}

.products-wrap .product-add-to-cart-controls {
	margin-top: 10px;
}

.products-wrap .product-add-to-cart-controls .addtocart-area {

}

.products-wrap .product-add-to-cart-controls .addtocart-area form {
	width: 100%;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar {

}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-box {

}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-box .quantity-input {
	text-align: center;
	width: 40px;
	margin: 0 10px 0 0;
	padding: .375rem;
	vertical-align: bottom;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls {

}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls {
	height: 40px;
	width: 40px;
	padding: 0 !important;
	margin: 0 10px 0 0 !important;
	background: #fff;
	border: 2px solid #2694d1;
	color: #2694d1;
	font-size: 50%;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls:active,
.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls:focus,
.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls:hover {
	border-color: #eb6426;
	color: #eb6426;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls.quantity-minus {

}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls.quantity-plus {
	margin: 0 !important;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .quantity-controls .quantity-controls i {

}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .addtocart-button {
	display: block;
	margin: 15px auto 0 auto;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .addtocart-button .addtocart-button {
	background: #fff;
	border: 2px solid #eb6426;
	color: #000;
}

.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .addtocart-button .addtocart-button:active,
.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .addtocart-button .addtocart-button:focus,
.products-wrap .product-add-to-cart-controls .addtocart-area .addtocart-bar .addtocart-button .addtocart-button:hover {
	background: #eb6426;
	color: #fff;
}

.products-wrap .product .product-details-button {
	margin-top: 15px;
	display: none;
}

.products-wrap .product .product-details-button a {
	display: inline-block;
	padding: 10px 20px;
	text-transform: none;
	min-height: 40px;
	width: 175px;
	line-height: normal;
	font-weight: normal;
	background: #2694d1;
	color: #fff !important;
	font-family: "Open Sans", sans-serif;
}

.products-wrap .product .product-details-button a:hover {
	background: #eb6426;
}

.vm-pagination {
	margin-top: 40px;
}

@media (min-width: 1200px) {
	.products-wrap .product {
		width: -webkit-calc((100% / 3) - (1rem- (1rem / 3)));
		width: -moz-calc((100% / 3) - (1rem - (1rem / 3)));
		width: calc((100% / 3) - (1rem - (1rem / 3)));
	}

	.products-wrap .product:nth-of-type(-n+3) {
		margin-top: 0;
	}

	.products-wrap .product:nth-of-type(3n) {
		margin-right: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.products-wrap .product {
		width: -webkit-calc((100% / 2) - (1rem - (1rem / 2)));
		width: -moz-calc((100% / 2) - (1rem - (1rem / 2)));
		width: calc((100% / 2) - (1rem - (1rem / 2)));
	}

	.products-wrap .product:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.products-wrap .product:nth-of-type(even) {
		margin-right: 0;
	}
}

@media (max-width: 991.98px) {
	.products-wrap .product {
		width: 100%;
		margin: 2.5rem 0 0 0;
	}

	.products-wrap .product:first-child {
		margin-top: 0;
	}
}

@media (max-width: 479px)  {
	.orderby-displaynumber .display-number {
		text-align: center;
	}
}

/* Alternative (orange) VM category view style */
.category-view.orange-category {

}

.category-view.orange-category .products-wrap .product .product-image img {
	background-color: #eb6426;
	border-color: #eb6426;
}

/* Additional category view style */
.custom-out-of-stock-notice {
	font-weight: 600;
	color: #d50000;
}

/* @media (min-width: 1200px) {
	.category-page-title {
		margin: 0;
	}
}

@media (max-width: 1199px) {
	.category-page-title {
		margin-bottom: 2rem;
	}
} */

/* Additional styling for special status products */
.products-wrap .product.discounted-product,
.products-wrap .product.new-product {
	position: relative;
}

.products-wrap .product div[class^="product-badge-"] {
	position: absolute;
	top: 0;
	left: 50%;
	width: 125px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	color: #fff;
	line-height: normal;
	padding: 5px 10px;
	font-weight: 600;
	font-size: 100%;
}

.products-wrap .product.discounted-product .product-badge-discount {
	background: #d50000;
}

.products-wrap .product.new-product .product-badge-new {
	background: #2694d1;
}

.products-wrap .product.discounted-product .product-price:first-child > .PricebasePrice {
	text-decoration: line-through;
	font-weight: normal;
	color: #777;
	font-size: 85%;
}

.products-wrap .product.discounted-product .PricesalesPrice {
	color: #d50000;
}

.products-wrap .product.discounted-product .product-prices .PricediscountAmount {
	display: none;
}

/* VM productdetails view style */
.productdetails-view .vm-product-container {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.productdetails-view .product-short-description {
	font-size: .875rem;
	text-align: center;
	margin-top: -.3125rem; /* Visually the same height as with normal articles with text on top */
	margin-bottom: 1.5rem;
}

.productdetails-view .vm-product-container .vm-product-media-container {
	margin-right: 2rem;
}

.productdetails__images {
	width: 32rem;
}

.productdetails__images-item {
	margin: 0;
}

.productdetails__image {
	background: var(--color-primary);
	border: .125rem solid var(--color-primary);
}

.productdetails-view .vm-product-details-container {
	-webkit-align-self: center;
	align-self: center;
	width: 100%;
	text-align: center;
}

.productdetails-view .product-price {
	font-size: 2.5rem;
	color: var(--bs-body-color);
	font-weight: 700;
}

.productdetails-view .product-price .PricediscountAmount {
	display: none;
	color: var(--color-warning);
	font-size: .75rem;
}

.productdetails-view .addtocart-bar {
	margin-top: 1.25rem;
}

.productdetails-view .quantity-input {
	text-align: center;
	width: 2.5rem;
	margin: 0 .625rem 0 0;
	padding: .375rem;
	vertical-align: bottom;
}

.productdetails-view .quantity-controls {

}

.productdetails-view .quantity-controls button {
	width: 2.5rem;
	padding: 0;
	margin: 0 .625rem 0 0;
	font-size: .75rem;
}

.productdetails-view .quantity-controls .quantity-minus {

}

.productdetails-view .quantity-controls .quantity-plus {
	margin: 0;
}

.productdetails-view span.addtocart-button {
	display: block;
	margin-top: 2rem;
}

.productdetails-view .addtocart-button input {
	width: 12rem;
}

.productdetails-view .contact-us-product-page {
	display: none;
}

.call-for-price-content-wrap {
	font-weight: 700;
	text-align: center;
	font-size: 1.25rem;
	line-height: var(--line-height-text-generic);
}

.productdetails__additional-images {
	margin-top: 1rem;
}

.productdetails__additional-images-item {
	margin: 0;
}

.productdetails__additional-image {
	background: var(--color-secondary);
	border: .125rem solid var(--color-secondary);
	max-width: 6rem;
}

.productdetails-view .product-description > .title {
	color: var(--bs-body-color);
	font-size: 1.75rem;
	font-weight: 600;
	display: block;
	text-align: center;
	margin: 1.5rem 0;
}

.productdetails-view .additional-images + .product-description > .title {
	margin: .625rem 0 1.25rem 0; /* Same top margin of product description title for prodcuts both with and without additional images */
}

.productdetails-view .product-description p:last-of-type {
	margin-bottom: 0;
}

.custom-fields-wrap {
	margin: 1.5rem 0 0 0;
}

.custom-fields-wrap .product-field {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 1rem;
}

.custom-fields-wrap .product-field:last-of-type {
	margin-bottom: 0;
}

.custom-fields-wrap .fas {
	color: var(--color-primary);
	font-size: 1.75rem;
	margin-right: .5rem;
	min-width: 2.5rem;
}

.custom-fields-wrap .product-fields-title-wrapper,
.custom-fields-wrap .product-field-desc {
	display: none;
}

.custom-fields-wrap .product-field-display {
	line-height: var(--line-height-text-generic);
}

.pricing-info-fields {
	margin: 0;
}

.pricing-info-fields .product-fields-title-wrapper {
	display: block;
	margin-right: .3125rem;
}

.pricing-info-fields .product-fields-title-wrapper strong {
	font-weight: normal;
}

.pricing-info-fields .product-fields .product-field {
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 0;
}

.pricing-info-fields .product-fields .product-field > .product-field-display {
	font-weight: 700;
	font-size: 1.25rem;
	text-transform: none;
}

.pricing-info-fields .price-per-kg .product-field-display:after,
.pricing-info-fields .discounted-price-per-kg .product-field-display:after {
	content: "руб.";
	margin-left: .3125rem;;
}

@media (max-width: 1199.98px) {
	.productdetails-view .vm-product-container {
		display: block;
	}

	.productdetails-view .vm-product-media-container {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		margin: 0;
	}

	.productdetails-view .vm-product-details-container {
		margin: 1rem 0 1.5rem 0;
	}

	.productdetails__images {
		width: 28rem;
	}

	.productdetails__additional-images {
		margin-top: 2rem;
	}

	.productdetails__additional-images + .product-description > .title {
		margin: 0 0 1.25rem 0;
	}
}

@media (max-width: 991.98px) {
	.productdetails__images {
		width: 22rem;
	}
}

@media (max-width: 768.98px) {
	.productdetails__images {
		width: 100%;
	}
}

/* Additional style for VM productdetails with Flickity support */
.productdetails__images-carousel-item {
	margin-right: 1rem;
	width: 100%;
}

.productdetails__image {
	width: 100%;
}

.productdetails__additional-images-carousel {

}

.productdetails__additional-images-carousel-item {
	cursor: pointer;
	margin-right: 1rem;
	width: 6rem;
}

.is-selected .productdetails__additional-image {
	background: var(--color-primary);
	border-color: var(--color-primary);
	-webkit-filter: brightness(1.15);
	filter: brightness(1.15);
}

@media (min-width: 1200px) {
	.productdetails__images-carousel .flickity-page-dots {
		display: none;
	}
}

@media (max-width: 1199.98px) {
	.productdetails__images-carousel {
		margin-bottom: 3rem;
	}

	.productdetails__additional-images-carousel {
		display: none;
	}

	.productdetails-view .vm-product-container .vm-product-media-container {
		margin-right: 0;
	}
}

@media (max-width: 768.98px) {
	.productdetails-view .vm-product-media-container {
		display: block;
	}
}

/* Additional custom fields style for the project */
.custom-fields-wrap .product-fields .product-field.customer-warning {
	color: #eb6426;
}

.custom-fields-wrap .product-fields .product-field.customer-warning .product-field-display {
	font-weight: 600;
}

.custom-fields-wrap .product-fields .product-field.customer-warning > i {
	color: #eb6426;
}

/* Additional product details style for discounted products */
.productdetails-discounted-product {

}

.productdetails-discounted-product .vm-product-container .product-price:first-of-type > .PricebasePrice {
	text-decoration: line-through;
	color: #777;
	font-size: 85%;
	font-weight: normal;
}

.productdetails-discounted-product .vm-product-container .PricesalesPrice {
	color: #d50000;
}

.productdetails-view .spacer-buy-area .pricing-info-fields .product-field.discounted-price-per-kg {
	display: none; /* Discounted price per KG field is hidden for regular products even if the custom field and its value are kept in place after removing discount status for the product being displayed */
}

.productdetails-view.productdetails-discounted-product .spacer-buy-area .pricing-info-fields .product-field.price-per-kg {
	display: none; /* Regular price per kg is hidden for discounted products which have this custom field */
}

.productdetails-view.productdetails-discounted-product .spacer-buy-area .pricing-info-fields .product-field.discounted-price-per-kg {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

/* VM search view style */
.virtuemart_search {
	display: none;
}

/* VM cart view style */
.vm-cart-header-container {

}

.vm-cart-header-container .vm-cart-header {

}

.vm-cart-header-container .vm-cart-header h2 {
	text-align: center;
}

.vm-cart-header-container .vm-continue-shopping {
	text-align: right;
}

.vm-cart-header-container .continue_link {
	background: var(--color-primary);
	color: var(--bs-body-bg);
	min-height: 2.5rem;
	padding: .625rem 1.5rem;
}

.vm-cart-header-container .continue_link:focus,
.vm-cart-header-container .continue_link:hover,
.vm-cart-header-container .continue_link:active {
	background: #eb6426;
}

.cart-view {

}

.cart-view #com-form-login {

}

.cart-view #com-form-login .userdata {

}

.cart-view #com-form-login .userdata > p {
	display: none;
}

.cart-view #com-form-login #com-form-login-username {
	margin: 0 0 10px 0;
}

.cart-view #com-form-login #com-form-login-username input[type="text"] {

}

.cart-view #com-form-login #com-form-login-password {
	margin: 0 0 10px 0;
}

.cart-view #com-form-login #com-form-login-password input[type="password"] {

}

.cart-view #com-form-login #com-form-login-remember {

}

.cart-view #com-form-login #com-form-login-remember input[type="submit"] {

}

.cart-view #com-form-login #com-form-login-remember input[type="checkbox"] {
	display: inline-block;
	margin: 0 5px 0 0;
}

.cart-view #com-form-login #com-form-login-remember label {

}

.cart-view #com-form-login > div:nth-of-type(1) {

}

.cart-view #com-form-login > div:nth-of-type(1) a {

}

.cart-view #com-form-login > div:nth-of-type(2) {

}

.cart-view #com-form-login > div:nth-of-type(2) a {

}

.cart-view .billto-shipto {
	display: -webkit-flex;
	display: flex;
	margin-top: 2.5rem;
}

.cart-view .billto-shipto > div {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}

.cart-view .billto-shipto {
	color: #2694d1;
	font-weight: 600;
	font-size: 1.25rem;
}

.cart-view .billto-shipto > div:not(:first-child) {
	display: none; /* Hide the VM Shipping address controls */
}

.cart-view .billto-shipto .fas {
	color: var(--color-primary);
	font-size: 3rem;
	vertical-align: middle;
	margin-right: .5rem;
}

.cart-view .output-billto .titles,
.cart-view .output-billto .values {
	color: var(--bs-body-color);
	display: block;
	font-weight: normal;
	font-size: 1rem;
	margin-top: .25rem;
}

.cart-view .output-billto .values:first-child {
	margin-top: .75rem;
}

.cart-view .output-billto .clear {
	display: none;
}

.cart-view .billto-shipto .details { /* Same as .btn */
	background: var(--color-primary);
	color: var(--bs-body-bg);
	font-size: var(--bs-body-font-size);
	font-weight: normal;
	display: inline-block;
	margin-top: 1rem;
	padding: .625rem 1.5rem;
}

.cart-view .billto-shipto .details:active,
.cart-view .billto-shipto .details:focus,
.cart-view .billto-shipto .details:hover {
	background: var(--color-secondary);
}

.cart-view .billto-shipto .output-shipto input[type="checkbox"] {
	line-height: normal;
	margin: 0 5px 0 0;
}

.cart-view .billto-shipto .output-shipto label {
	display: inline;
	vertical-align: -5%;
}

.cart-view .billto-shipto .output-shipto {
	font-size: 14px;
	color: #000;
	font-weight: normal;
	padding: 10px 0 5px 0;
}

.cart-view .billto-shipto #output-shipto-display > span {
	display: block;
	margin-left: 15px;
}

.cart-view .billto-shipto #output-shipto-display > span:first-of-type {
	margin-top: 10px;
}

.cart-view .billto-shipto #output-shipto-display > span:last-of-type {

}

.cart-view .billto-shipto #output-shipto-display .clear {
	display: none;
}

.cart-view .vm-cart-order-table-responsive-wrap {
	overflow: auto;
}

.cart-view .vm-fieldset-pricelist {

}

.cart-summary {
	margin: 0;
	border-width: .125rem;
}

.cart-summary th,
.cart-summary td {
	border-width: .125rem;
}

.cart-summary hr {
	border-top: none;
	border-color: var(--color-primary);
}

.cart-view .vm-price-value {
	text-align: center;
}

.cart-view td.vm-cart-item-name {
	text-align: center;
}

.cart-view .cart-images {
	display: block;
}

.cart-view .cart-images img {
	max-width: 100px;
}

.cart-view .vm-cart-item-quantity {
	white-space: nowrap;
}

.cart-view #checkoutForm .vm-cart-item-quantity input[type="text"] {
	display: inline;
	width: 40px;
	height: 40px;
	text-align: center;
	min-width: 0;
	min-height: 0;
	margin-right: 5px;
}

.cart-view #checkoutForm .vm-cart-item-quantity button {
	padding: 0;
	width: 40px;
}

.cart-view #checkoutForm .vm-cart-item-quantity .vm2-add_quantity_cart {
	margin-right: 5px;
}

.cart-view #checkoutForm .vm-cart-item-quantity .vm2-remove_from_cart {

}

/* This H1 is only displayed if cart total is too low for checkout */
.cart-summary h1 {
	font-size: 100%;
	font-weight: normal;
	margin-bottom: 0;
}

.cart-summary h3 {
	font-size: 22px;
	line-height: normal;
	margin: 0 0 10px 0;
}

.cart-summary .vmshipment_name,
.cart-summary .vmpayment_name {
	display: block;
	font-weight: 600;
}

.cart-summary .vm-shipment-header-selected,
.cart-summary .vm-shipment-header-select,
.cart-summary .vm-payment-header-selected,
.cart-summary .vm-payment-header-select {
	margin-top: 15px;
}

.cart-summary .vm-shipment-plugin-single,
.cart-summary .vm-payment-plugin-single {
	text-align: left;
}

.cart-summary .vm-shipment-plugin-single input[type="radio"],
.cart-summary .vm-payment-plugin-single input[type="radio"] {
	margin: 0;
	line-height: normal;
	vertical-align: middle;
}

.cart-summary .vm-shipment-plugin-single label,
.cart-summary .vm-payment-plugin-single label {
	display: inline;
	line-height: normal;
	vertical-align: -5%;
}

.cart-summary .vm-shipment-plugin-single label .vmshipment {

}

.cart-summary .vm-shipment-plugin-single label .vmshipment_name,
.cart-summary .vm-payment-plugin-single label .vmpayment_name {
	display: inline;
	font-weight: normal;
}

.cart-summary br {
	display: none;
}

.cart-view .vm-fieldset-pricelist .PricebillTotal {
	text-transform: none;
	color: #000;
	font-weight: 600;
	font-family: "Open Sans", sans-serif;
}

.cart-view .vm-fieldset-customer-note {

}

.cart-view .vm-fieldset-customer-note .customer-note {

}

.cart-view .vm-fieldset-customer-note .customer-note .customer-note {
	display: block;
	text-align: center;
	font-family: "Open Sans", sans-serif;
	color: #000;
	font-size: 22px;
	margin: 20px 0 15px 0;
}

.cart-view .vm-fieldset-customer-note .customer-note textarea {
	display: block;
	resize: none;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	padding: 10px;
	height: 100px;
}

#vm-cart-order-warning {
	background: #000;
	color: #fff;
	width: 75%;
	margin: 20px auto 0 auto;
	text-align: center;
	padding: 15px 25px;
	font-family: "Open Sans", serif;
	font-size: 125%;
	border-radius: 50px;
}

#vm-cart-order-warning a {
	color: #fffe01;
}

#vm-cart-order-warning a:active,
#vm-cart-order-warning a:focus,
#vm-cart-order-warning a:hover {
	color: #fffe01;
}

.cart-view__edit-address-container {
	margin-top: 1rem;
}

.cart-view__edit-address-link:focus-within {

}

.cart-view-form-title {
	margin-top: 3rem;
}

.cart-view-form-fieldset {
	margin-top: .75rem;
}

.cart-view-form-input-container {
	border: none !important; /* Fix weird red borders around invalid required fields on VM < 4.4.4 */
}

.cart-view-form-label {
	font-weight: 600;
	margin-bottom: .125rem;
}

.cart-view-form-label-required-field-marker {
	color: var(--color-secondary);
	margin-left: .125rem;
}

.cart-view .checkout-button-top {
	text-align: center;
	margin-top: 20px;
}

.cart-view .checkout-button-top button {
	min-height: 60px;
	padding: 20px 30px;
	font-size: 125%;
}

.cart-view .checkout-button-top button:active,
.cart-view .checkout-button-top button:focus
.cart-view .checkout-button-top button:hover {

}

#vm-cart-order-bottom-warning {
	margin: 10px 0 0 0;
	text-align: center;
}

#cart-bottom-notification {
	background: var(--color-secondary);
	border: .125rem solid var(--bs-body-color);
	color: var(--bs-body-bg);
	margin-top: 1rem;
	padding: .625rem;
	text-align: center;
}

.cart-view-notifictaion-terms-and-conditions-agreement {
	text-align: center;
	margin-top: 1rem;
}

.virtuemart-cart-view-account-maintentance-link-container {
	margin-top: 1rem;
}

.virtuemart-cart-view-account-maintentance-link {

}

@media (min-width: 992px) {
	.cart-view .coupon {
		display: inline;
		margin-right: .5rem;
	}

	.cart-view-form-input-container {
		width: 32rem;
		margin: 0 auto;
	}
}

@media (max-width: 991.98px) {
	.cart-view .coupon {
		display: block;
		width: 16rem;
	}

	.cart-view input[name="setcoupon"] {
		display: block;
		margin-top: 1rem;
		width: 16rem;
	}
}

@media (max-width: 991.98px) {
	.cart-view .cart-summary td {
		display: block;
	}

	.cart-view .cart-summary tr:first-child {
		display: none;
	}
}

/* VM Cart Edit Address view */
#userForm h2 {
	margin-top: 1.75rem;
}

#userForm fieldset h2,
#userForm .userfields_info {
	display: none; /* Hide unnecessary headings. */
}

#userForm table {
	background: transparent;
	max-width: 32rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#userForm table,
#userForm tbody,
#userForm th,
#userForm tr,
#userForm td {
	display: block;
	border: none;
	padding: 0;
}

#userForm tr:not(:first-child) {
	margin-top: .75rem;
}

#userForm td {
	text-align: left;
}

#userForm .key label {
	font-weight: 600;
	margin-bottom: .125rem;
}

.custom-cart-field-with-label-wrap label {
	display: none;
}

#userForm input,
#userForm select {
	width: 100%;
}

#userForm .form-control-feedback {
	display: none;
}

#userForm .userfields_info { /* Same as .vm-page-title, remove with replaced with a heading element */
	font-size: 1.75rem;
	font-weight: 600;
	margin: 1.75rem 0 1.5rem 0;
	text-align: center;
}

#userForm .control-buttons {
	margin-top: 2rem;
}

#userForm .control-buttons button {
	display: block;
	width: 100%;
	margin-top: .75rem;
}

#userForm .control-buttons button:first-child {
	margin-top: 0;
}

#userForm .reg_text {
	margin-bottom: 1.5rem;
	text-align: center;
}

.virtuemart-user-edit-address-account-maintentance-link-container {
	margin-top: 1rem;
}

.virtuemart-user-edit-address-account-maintentance-link {

}

/* VM Cart select/edit payment and shipment pages */
#shipmentForm .buttonBar-right,
#paymentForm .buttonBar-right {
	margin-bottom: 1.5rem;
}

.vm-shipment-plugin-single,
.vm-payment-plugin-single {
	margin-top: .75rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.vm-shipment-plugin-single:first-of-type,
.vm-payment-plugin-single:first-of-type {
	margin-top: 0;
}

.vm-shipment-plugin-single input,
.vm-payment-plugin-single input {
	margin: .375rem .75rem 0 0;
	transform: scale(1.5);
}

#shipmentForm .vmshipment_description,
#paymentForm .vmpayment_description {
	font-size: var(--bs-body-font-size);
}

#shipmentForm .vmshipment_cost {
	display: block;
	margin-top: .5rem;
}

/* Footer area style */
.footer-wrap {
	border-top: .125rem solid var(--color-primary);
	margin-top: 3rem;
	padding: 1.5rem 0;
}

.footer-wrap a {
	color: var(--bs-body-color);
}

.footer-wrap a:focus,
.footer-wrap a:hover,
.footer-wrap a:active {
	color: var(--color-primary);
}

.footer-wrap .company-logo-and-title-wrap > div:first-of-type img {
	max-width: 10rem;
}

.footer-wrap .company-logo-and-title-wrap > div:last-of-type {
	font-size: .875rem;
	margin-bottom: -.3125rem;
}

.footer-wrap .company-logo-and-title-wrap a:focus,
.footer-wrap .company-logo-and-title-wrap a:hover,
.footer-wrap .company-logo-and-title-wrap a:active {
	color: var(--bs-body-color);
}

.footer-wrap .contacts-and-working-hours-wrap {
	padding-top: 1rem;
}

.footer-contacts-area-wrap .socials {
	margin-top: .625rem;
}

.footer-menus {
	display: -webkit-flex;
	display: flex;
}

.footer-wrap .vm-category-menu-item {
	display: block;
	border: none;
	background: transparent;
	margin: 0 0 .3125rem 0;
}

.footer-wrap .vm-category-menu-item > a {
	display: initial;
	font-size: .875rem;
	font-weight: 400;
}

.footer-wrap .vm-category-menu-item > a > div:first-of-type {
	display: none;
}

.footer-wrap .vm-category-menu-item > a > div:last-of-type {
	text-align: left;
	padding: 0;
}

.footer-wrap .custom-main-menu-wrap {
	font-weight: normal;
}

.footer-wrap .custom-main-menu-wrap > div {
	margin: 0 0 .3125rem 0;
}

.footer-wrap .custom-main-menu-wrap > div:last-of-type {
	margin: 0;
}

.footer-wrap .vm-categories-menu-group-title {
	display: none;
}

.footer-wrap .custom-main-menu-wrap {
	font-size: .875rem;
}

@media (min-width: 576px) {
	.footer-menus {
		justify-content: center;
	}

	.footer-menus > div:not(:last-child) {
		margin-right: 4rem;
	}
}

@media (min-width: 768px) {
	.footer-wrap {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	.footer-contacts-area-wrap {
		margin-right: 2rem;
	}

	.footer-menus > div:not(:last-child) {
		margin-right: 2rem;
	}
}

@media (max-width: 767.98px) {
	.footer-contacts-area-wrap {
		text-align: center;
	}

	.footer-wrap.two-inline {
		display: block;
	}

	.footer-wrap.two-inline > div {
		width: 100%;
		margin: 0;
	}

	.footer-wrap .company-logo-and-title-wrap {
		display: block;
	}

	.footer-wrap .company-logo-and-title-wrap > div:first-of-type {
		margin: 0;
	}

	.footer-wrap .company-logo-and-title-wrap > div:first-of-type img {
		max-width: 150px;
	}

	.footer-wrap .header-contacts-area-wrap {
		text-align: center;
		margin: 15px 0 0 0;
	}

	.footer-wrap .footer-contacts-area-wrap .company-logo-and-title-wrap > div:last-of-type {
		margin: 10px 0 0 0;
	}

	.footer-wrap .contacts-and-working-hours-wrap > div:first-of-type,
	.footer-wrap .contacts-and-working-hours-wrap > div:nth-of-type(2) {
		font-size: 100%;
	}

	.footer-wrap .contacts-and-working-hours-wrap > div:nth-of-type(3) {
		font-size: 65%;
	}

	.footer-contacts-area-wrap .socials {
		-webkit-justify-content: center;
		justify-content: center;
	}

	.footer-menus {
		margin-top: .625rem;
	}
}

@media (max-width: 575.98px) {
	.footer-menus {
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		align-items: center;
		text-align: center;
	}

	.footer-wrap .vm-category-menu-item > a > div:last-of-type {
		text-align: center;
	}

	.footer-menus > div:not(:first-child) {
		margin-bottom: 1.5rem;
	}

	.footer-menus > div:last-of-type {
		order: -1;
	}
}

/* Category blog style */
.blog .page-header h1 {
	/* 	margin-bottom: 25px; */
}

.blog div[itemprop="blogPost"] {
	margin-top: 0;
	margin-bottom: 60px;
	text-align: center;
}

div[itemprop="blogPost"] .item-image {
	background-color: transparent;
	margin-bottom: 15px;
	text-align: center;
}

div[itemprop="blogPost"] .item-image img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	max-height: 500px;
	width: auto;
	height: auto;
}

.blog .items-leading .page-header h2,
.blog .items-row .page-header h2 {
	margin-bottom: 10px;
	font-size: 175%;
}

div[itemprop="blogPost"] .readmore {
	margin-top: 20px;
}

div[itemprop="blogPost"] .readmore a.btn {
	margin: 0;
	text-transform: none;
	font-weight: normal;
	padding: 10px 25px;
	font-size: 16px;
	line-height: normal;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
}

div[itemprop="blogPost"] .readmore a.btn:active,
div[itemprop="blogPost"] .readmore a.btn:focus,
div[itemprop="blogPost"] .readmore a.btn:hover {
	background: #eb6426;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
}

.blog > p {
	text-align: center;
}

.blog .pagination {
	margin-top: 0;
}

.article-info {
	color: #fff;
	font-size: 100%;
	margin: 0 auto 30px auto;
}

.article-info .icon-calendar {
	color: #eb6426;
}

div[itemprop="blogPost"] .article-info {
	margin-bottom: 10px;
}

.blog .items-more ol {
	border: none;
	list-style-type: square;
}

.blog .items-more ol li {
	margin-bottom: 10px;
	margin-left: 2rem;
}

.blog .items-more ol li a {
	background: transparent;
	display: inline;
	padding: 0;
	margin: 0;
	border: none;
	font-size: inherit;
	font-weight: inherit;
	text-transform: none;
}

.blog .items-more ol li a:active,
.blog .items-more ol li a:focus,
.blog .items-more ol li a:hover {
	color: #eb6426;
}

.blog .items-more ol:before,
.blog .items-more ol:after {
	display: none;
}

/* Promos style */
.promos {

}

.promo-items {

}

.promo {
	margin: 40px 0 0 0;
}

.promo:first-child {
	margin-top: 0;
}

.promo-image {

}

.promo-valid-until-date {
	margin-top: 10px;
}

.promo-valid-until-date-box {
	display: inline-block;
	background: #eb6426;
	padding: 5px 10px;
	color: #fff;
	font-size: 85%;
	font-weight: normal;
}

.promo-title {
	margin-top: 10px;
	font-size: 1.5rem;
	font-weight: 600;
}

.promo-description {

}

.promo-valid-until-date + .promo-description {
	margin-top: 10px;
}

.promo-image + .promo-description {
	margin-top: 10px;
}

.promo-description p:last-of-type {
	margin-bottom: 0;
}

.promo-image-link {

}

.promo-image-file {

}

.promo-links {
	margin-top: 10px;
}

.promo-image + .promo-links {
	margin-top: 15px;
}

.promo-links .btn {
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: normal;
	text-transform: none;
}

/* Pagination style */
.pagination {
	text-align: center;
	margin-bottom: 10px;
}

.pagination .pagination-list {
	border: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
	border-radius: 0;
}

.pagination ul > li {
	margin: 0;
}

.pagination ul > li > a,
.pagination ul > li > span {
	border: none !important;
	line-height: 1.75rem;
	float: none;
}

.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
	border-radius: 0;
}

.pagination li a > i {
	vertical-align: baseline;
	margin-top: 0;
	font-size: 125%;
	line-height: normal;
}

.pagination ul > li.active a,
.pagination ul > li.disabled a {
	color: #82829e !important;
}

.pagination ul > li > a,
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
	background: transparent;
}

.pagination .counter {
	display: none;
}

@media (max-width: 360px) {
	.pagination {
		text-align: center;
	}
}

/* Owl Carousel style */
.owl-carousel .owl-dots {
	text-align: center;
	margin-top: 15px;
}

.owl-carousel .owl-dots button.owl-dot {
	background: #eb6426;
	width: 10px;
	height: 10px;
	min-height: 0;
	margin-right: 10px;
	border-radius: 0;
}

.owl-carousel .owl-dots button.owl-dot:focus {
	outline: none;
}

.owl-carousel .owl-dots button.owl-dot:hover {
	background: #2694d1;
}

.owl-carousel .owl-dots button.owl-dot.active {
	background: #2694d1;
	outline: none;
}

.owl-carousel .owl-dots button.owl-dot.active:hover {
	background: #eb6426;
}

.owl-carousel .owl-dots .owl-dot:last-of-type {
	margin-right: 0;
}

/* Flickity style (generic) */
.flickity-page-dots {
	bottom: auto;
	line-height: normal;
	margin-top: 1rem;
}

.flickity-page-dots .dot {
	background: var(--color-primary);
	border-radius: 0;
	height: .625rem;
	margin: 0 .3125rem;
	opacity: 1;
	width: .625rem;
}

.flickity-page-dots .dot.is-selected {
	background: var(--color-secondary);
}

.flickity-button {
	display: none;
}

/* Sigplus style */
.sigplus-gallery > ul > li {
	margin: 10px;
}

.sigplus-gallery img {

}

@media (max-width: 599px) {
	.sigplus-gallery > ul > li {
		margin: 5px;
	}

	.sigplus-gallery > ul > li img {
		max-width: 100px;
	}
}

@media (max-width: 360px) {
	.sigplus-gallery > ul > li img {
		max-width: 75px;
	}
}

/* Sigplus wrap style */
.gallery-wrap {

}

@media (max-width: 599px) {
	.gallery-wrap {

	}
}

/* VM User Maintenance */
.vm-main-login-form {
	background: #2694d1;
	color: #fff;
	padding: 1rem;
	margin-bottom: 1.5rem;
}

.vm-main-login-form form {
	text-align: center;
	font-weight: normal;
}

.vm-main-login-form form h2 {
	margin-top: .625rem;
	color: #fff;
}

.vm-main-login-form form input[type="submit"] {
	background: #eb6426;
	display: block;
	margin: 1rem auto .5rem auto;
	width: 10rem;
}

.vm-main-login-form form input[type="submit"]:focus,
.vm-main-login-form form input[type="submit"]:hover {
	background: #fff;
	color: #2694d1;
}

.vm-main-login-form #com-form-login {

}

.vm-main-login-form #com-form-login #com-form-login-username {

}

.vm-main-login-form input[type="text"],
.vm-main-login-form input[type="password"] {
	border-color: var(--bs-body-bg);
	width: 100%;
	max-width: 22rem;
}

.vm-main-login-form #com-form-login #com-form-login-password {
	margin-top: 1rem;
}

.vm-main-login-form #com-form-login #com-form-login-remember {

}

.vm-main-login-form #com-form-login #com-form-login-remember input[type="submit"] {

}

.vm-main-login-form #com-form-login #com-form-login-remember input[type="checkbox"] {
	transform: scale(1.5);
	margin-right: .25rem;
}

.vm-main-login-form #com-form-login #com-form-login-remember label {

}

.vm-main-login-form #com-form-login .clr {
	display: none;
}

.vm-main-login-form #com-form-login > div:first-of-type {
	margin: 1rem 0 .5rem 0;
}

.vm-main-login-form #com-form-login > div > a {
	color: #fff;
	border-bottom: .0625rem dashed #fff;
}

.vm-main-login-form .form-notice {
	margin: 2rem 0 0 0;
	text-align: center;
	line-height: normal;
	font-weight: normal;
}

.vm-main-form-wrap {
	margin: 25px 0 0 0;
	background: #fff;
	border: 2px solid #2694d1;
	padding: 10px 15px 15px 15px;
}

.vm-main-form-wrap form {

}

.vm-main-form-wrap form .clear {
	display: none;
}

.vm-main-form-wrap form #tabs {
	display: none;
}

.vm-main-form-wrap form .user-details {
	display: block;
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
	border: none;
}

.vm-main-form-wrap form .user-details tbody {
	display: block;
}

.vm-main-form-wrap form .user-details tr {
	display: block;
}

.vm-main-form-wrap form .user-details tr td {
	display: block;
	border: none;
	padding: 0;
	text-align: left;
}

.vm-main-form-wrap form .user-details label {
	display: inline-block;
	margin: .75rem 0 .125rem 0;
	font-weight: 600 !important; /* Invalid class override */
	color: var(--bs-body-color) !important; /* Invalid class override */
}

.vm-main-form-wrap form .user-details tbody tr:first-of-type label {
	margin-top: 0;
}

.vm-main-form-wrap form .user-details label .asterisk {
	color: var(--color-secondary);
}

.vm-main-form-wrap form .form-control-feedback {
	display: none;
}

.vm-main-form-wrap form .user-details input[type="text"],
.vm-main-form-wrap form .user-details input[type="password"],
.vm-main-form-wrap form .user-details input[type="email"],
.vm-main-form-wrap form .user-details select {
	width: 100% !important;
	background: #fff !important; /* Invalid class override */
	color: #000; /* Invalid class override */
	font-weight: normal; /* Invalid class override */
}

.vm-main-form-wrap form fieldset {
	margin: 25px 0 0 0;
}

.vm-main-form-wrap form fieldset legend {
	margin: 25px 0 5px 0;
	text-align: center;
	border: none;
	border-bottom-color: #2694d1;
	font-size: 150%;
	font-weight: 600;
	line-height: normal;
}

.vm-main-form-wrap form #dynamic_recaptcha_1 {
	margin: 30px 0 0 0;
}

.vm-main-form-wrap form #dynamic_recaptcha_1 > div {
	text-align: center;
	margin: 0 auto;
}

.vm-main-form-wrap form .buttonBar-right {
	margin: 30px 0 15px 0;
	text-align: center;
}

.vm-main-form-wrap form .buttonBar-right button {
	min-width: 150px;
	max-width: 100%;
}

.vm-main-form-wrap form .buttonBar-right button:active,
.vm-main-form-wrap form .buttonBar-right button:focus,
.vm-main-form-wrap form .buttonBar-right button:hover {
	outline: none;
}

.vm-main-form-wrap form .buttonBar-right button[type="submit"] {
	margin: 0 10px 0 0;
}

.vm-main-form-wrap form .buttonBar-right button[type="reset"] {
	background: #eb6426;
/* 	width: auto; */
}

.vm-main-form-wrap form .buttonBar-right button[type="reset"]:active,
.vm-main-form-wrap form .buttonBar-right button[type="reset"]:focus,
.vm-main-form-wrap form .buttonBar-right button[type="reset"]:hover {
	background: #2694d1;
}

/* Account maintentance customer ID block */
#tab-1 fieldset:first-child {
	margin-bottom: 3rem;
}

#tab-1 fieldset:first-child td {
	text-align: center;
}

/* Account maintenance edit customer info block is not needed */
#tab-1 fieldset:last-of-type {
	display: none;
}

.vm-page-title-register-new-user {
/*     margin-top: 25px; */
/*     display: none; */
}

.vm-page-title-register-new-user + .vm-main-form-wrap {
/*     display: none; */
}

.vm-main-form-wrap form #editcell,
.vm-wrap #editcell {
	margin: 25px 0 0 0;
	overflow: auto;
}

.vm-main-form-wrap form #editcell table,
.vm-wrap #editcell table {
	border: 2px solid #2694d1;
	width: 100%;
	margin: 0;
	line-height: normal;
	background: #fff;
}

.vm-main-form-wrap form #editcell table tr,
.vm-wrap form #editcell table tr {

}

.vm-main-form-wrap form #editcell table tr th,
.vm-wrap #editcell table tr th {
	border: 2px solid #2694d1;
	vertical-align: middle;
	text-align: center;
	font-weight: 600;
	font-size: 85%;
}

.vm-main-form-wrap form #editcell table tr td,
.vm-wrap #editcell table tr td {
	border: 2px solid #2694d1;
	vertical-align: middle;
	text-align: center;
	font-size: 75%;
	font-weight: normal;
}

.vm-main-form-wrap form #editcell table tr td:first-of-type a,
.vm-wrap #editcell table tr td:first-of-type a {
	border-bottom: 1px dashed #eb6426;
}

.vm-main-form-wrap form #editcell table tr td:first-of-type a:active,
.vm-main-form-wrap form #editcell table tr td:first-of-type a:focus,
.vm-main-form-wrap form #editcell table tr td:first-of-type a:hover,
.vm-main-form-wrap form #editcell table tr td:first-of-type a:visited,
.vm-wrap #editcell table tr td:first-of-type a:active,
.vm-wrap #editcell table tr td:first-of-type a:focus,
.vm-wrap #editcell table tr td:first-of-type a:hover,
.vm-wrap #editcell table tr td:first-of-type a:visited {
	border-bottom-color: #2694d1;
}

@media (max-width: 767px) {
	.vm-main-form-wrap form .user-details {
		max-width: none;
	}
}

@media (max-width: 449px) {
	.vm-main-form-wrap form .buttonBar-right button {
		display: block;
		margin: 0 auto;
		width: 100%;
	}

	.vm-main-form-wrap form .buttonBar-right button[type="submit"] {
		margin: 0 auto;
	}

	.vm-main-form-wrap form .buttonBar-right button[type="reset"] {
		margin-top: 15px;
	}
}

/* VM Order info page & order list page */
.vm-orders-information {

}

.vm-orders-information .line-through {
	text-decoration: line-through;
}

.vm-orders-information .vm-orders-order {
	overflow: auto;
}

.vm-orders-information .vm-orders-order table {
	order: .125rem solid var(--color-primary);
	width: 100%;
	margin: 0;
	background: var(--bs-body-bg);
}

.vm-orders-information .vm-orders-order table tr {

}

.vm-orders-information .vm-orders-order table tr td {
	border: .125rem solid var(--color-primary);
	vertical-align: middle;
	text-align: center;
	font-size: 75%;
}

.vm-orders-information .vm-orders-order table tr td:first-of-type {
	font-weight: 600;
	text-align: right;
}

.vm-orders-information .vm-orders-order table tr td:last-of-type {
	text-align: left;
	font-weight: normal;
}

.vm-orders-information .vm-orders-order table tr:last-of-type td {
	text-align: center;
	vertical-align: top;
}

.vm-orders-information .vm-orders-order table tr:last-of-type td br {
	display: none;
}

.vm-orders-information .vm-orders-order > table tr:last-of-type td strong {
	font-size: 18px;
	font-weight: 600;
	display: block;
	margin: 0 0 15px 0;
}

.vm-orders-information .vm-orders-order .vmshipment_description,
.vm-orders-information .vm-orders-order .vmpayment_description {
	display: none;
}

.vm-orders-information .vm-orders-order table table,
.vm-orders-information .vm-orders-order table table th,
.vm-orders-information .vm-orders-order table table td {
	border-color: var(--color-secondary);
}

.vm-orders-information .vm-orders-order table table tr > td:first-of-type {
	text-align: right;
}

.vm-orders-information .vm-orders-order table table tr > td:last-of-type {
	text-align: left;
}

.vm-orders-information .vm-orders-items {
	margin: 30px 0 0 0;
}

.vm-orders-information .vm-orders-items #tabs,
.vm-orders-information .vm-orders-items .clear {
	display: none;
}

.vm-orders-information .vm-orders-items #tab-1 {
	overflow: auto;
}

.vm-orders-information .vm-orders-items #tab-2 {
	margin: 30px 0 0 0;
	overflow: auto;
}

.vm-orders-information .vm-orders-items table {
	border: 2px solid #2694d1;
	width: 100%;
	margin: 0;
	line-height: normal;
	background: #fff;
}

.vm-orders-information .vm-orders-items table tr {

}

.vm-orders-information .vm-orders-items table tr:last-of-type {
	border-top: 2px solid #2694d1;
}

.vm-orders-information .vm-orders-items table tr th {
	border: 2px solid #2694d1;
	vertical-align: middle;
	text-align: center !important;
	font-weight: 600;
	font-size: 85%;
}

.vm-orders-information .vm-orders-items table tr td {
	border: 2px solid #2694d1;
	vertical-align: middle;
	text-align: center;
	font-size: 75%;
	font-weight: normal;
}

.vm-orders-information .vm-orders-items table tr td:last-of-type {
	text-align: center !important;
}

.vm-orders-information .vm-orders-items table tr td:nth-of-type(5) {
	text-align: center !important;
}

.vm-orders-information .vm-orders-items table tr .priceCol {
	text-align: center !important;
}

/* VM Order info page (unregistered user) */
.order-view {

}

.order-view .clr,
.order-view br {
	display: none;
}

.order-view .order-form-wrap {
	margin: 0 0 25px 0;
	background: #fff;
	border: 2px solid #2694d1;
	padding: 10px 15px 15px 15px;
}

.order-view .order-form-wrap form {
	margin: 0;
}

.order-view .order-form-wrap form div {
	max-width: 350px;
	margin: 0 auto;
}

.order-view .order-form-wrap label {
	display: block;
	margin: 10px 0 2.5px 0;
	font-size: 75%;
	font-weight: normal !important;
	color: #777 !important;
}

.order-view .order-form-wrap form div:first-of-type label {
	margin-top: 5px;
}

.order-view .order-form-wrap input {
	width: 100%;
}

.order-view .order-form-wrap #com-form-order-submit {
	margin-top: 2rem;
	margin-bottom: 15px;
	text-align: center;
}

.order-view .order-form-wrap #com-form-order-submit input[type="submit"] {
	width: auto;
}

/* VM Orderdone view */
.vm-order-done {
	font-weight: normal;
	background: #fff;
	border: 2px solid #2694d1;
	padding: 15px;
}

.vm-order-done > h2 {

}

.vm-order-done .vm-page-title {
	margin: 15px 0 25px 0;
}

.post_payment_payment_name {

}

.post_payment_payment_name_title {
	display: block;
	text-transform: uppercase;
	font-weight: 900;
}

.vmpayment_name,
.vmshipment_name {
	display: block;
	color: var(--color-secondary);
}

.post_payment_payment_name_title .vmpayment_name {
	margin-top: .5rem;
}

.vmpayment_description,
.vmshipment_description {
	display: block;
	color: var(--color-tertiary);
	font-size: .875rem;
}

.post_payment_payment_name br {
	display: none;
}

.post_payment_order_number {
	margin: 25px 0 0 0;
}

.post_payment_order_number .post_payment_order_number_title {
	text-transform: uppercase;
	font-weight: 900;
}

.post_payment_order_total {

}

.post_payment_order_total .post_payment_order_total_title {
	font-weight: 900;
	text-transform: uppercase;
}

.vm-order-done > a {
	display: block;
	margin: 30px auto 0 auto;
	width: 250px;
	text-align: center;
	max-width: 100%;
	background: #2694d1;
	color: #fff;
	font-size: 16px;
	border: none;
	min-height: 40px;
	padding: 9px 25px;
	line-height: normal;
	border-radius: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
}

.vm-order-done > a:active,
.vm-order-done > a:focus,
.vm-order-done > a:hover {
	background: #eb6426;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
	outline: none;
}

.vm-order-done #form-login {
/* 	display: none; */
	margin-top: 1rem;
	text-align: center;
}

/* Additional style for VM Orderdone */
.vm-order-done .vm-order-done-additional-message {

}

/* Joomla! remind login and password views */
#user-registration {
	background: #fff;
	border: 2px solid #2694d1;
	padding: 15px;
	margin: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
}

#user-registration fieldset {

}

#user-registration fieldset p {
	display: block;
	margin: 0 0 15px 0;
	text-align: center;
/* 	line-height: normal; */
/* 	font-size: 16px; */
}

#user-registration .control-group {
	max-width: 350px;
	margin: 0 auto;
}

#user-registration .control-group > div {
	display: block;
	float: none;
	margin: 0;
}

#user-registration .control-group .control-label {
	padding: 0;
	text-align: left;
	width: 100%;
}

#user-registration .control-group .control-label label {
	display: inline;
	margin: 0;
	font-size: 75%;
	font-weight: normal !important;
	color: #777 !important;
}

#user-registration .control-group .control-label label .star {
	display: none;
}

#user-registration .control-group .controls {

}

#user-registration > .control-group {
	text-align: center;
}

#user-registration .control-group .controls input[type="text"],
#user-registration .control-group .controls input[type="email"] {
	width: 100%;
	background: #fff !important;
	color: #000;
	font-weight: normal;
}

#user-registration .control-group .controls button[type="submit"] {
	width: 150px;
	margin: 30px 0 15px 0;
	text-transform: none;
	font-size: 16px;
	padding: 0 25px;
	line-height: normal;
	font-weight: normal;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-o-box-shadow: none !important;
	box-shadow: none !important;
}

/* POLYTOPE Instagram Gallery style */
.rstpl-poly_instagallery {

}

.poly_insta {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.poly_insta a {
	margin: 5px 5px 0 0;
}

.poly_insta a:last-of-type {
	margin: 5px 0 0 0;
}

.poly_insta a .poly_insta-item {
	width: 100% !important;
}

.poly_insta a .poly_insta-item .poly_insta-overlay {
	background: rgba(243, 108, 39, 0.5) !important;
	transition: none;
}

.poly_insta a .poly_insta-item .poly_insta-overlay .poly_insta-iteminfo .icon-heart {
	margin: 0 10px 0 0;
}

.poly_insta a .poly_insta-item .poly_insta-overlay .poly_insta-iteminfo .icon-bubble {
	margin: 0 10px 0 0;
}

.poly_insta a .poly_insta-item .poly_insta-overlay .icon-instagram {
	display: none;
}

@media (min-width: 576px) {
	.poly_insta a {
		width: -webkit-calc((100% / 3) - (5px - (5px / 3)));
		width: -moz-calc((100% / 3) - (5px - (5px / 3)));
		width: calc((100% / 3) - (5px - (5px / 3)));
	}

	.poly_insta a:nth-of-type(-n+3) {
		margin: 0 5px 0 0;
	}

	.poly_insta a:nth-of-type(3n) {
		margin: 5px 0 0 0;
	}
}

@media (max-width: 575.98px) {
	.poly_insta a {
		width: -webkit-calc((100% / 2) - (5px - (5px / 2)));
		width: -moz-calc((100% / 2) - (5px - (5px / 2)));
		width: calc((100% / 2) - (5px - (5px / 2)));
	}

	.poly_insta a:nth-of-type(-n+2) {
		margin: 0 5px 0 0;
	}

	.poly_insta a:nth-of-type(even) {
		margin: 5px 0 0 0;
	}
}

/* VM hidden cart module style */
#hidden-cart-module-wrap {
	display: none;
}

.vmCartModule .total,
.vmCartModule .show_cart a {
	float: none !important;
}

/* Products list module style */
.vmproduct:not(.vmproduct-carousel) {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.vmproduct .product-container {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	text-align: center;
	margin-right: 1rem;
}

.vmproduct:not(.vmproduct-carousel) .product-container:last-of-type {
	margin-right: 0;
}

.vmproduct .product-image img {
	background: #2694d1;
	border: 2px solid #2694d1;
}

.vmproduct .product-title {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	line-height: normal;
	margin-top: 10px;
	font-size: 100%;
	font-weight: 600;
}

.vmproduct .product-title a {
	color: #000;
}

.vmproduct .product-title a:focus,
.vmproduct .product-title a:hover,
.vmproduct .product-title a:active {
	color:#2694d1;
}

.vmproduct .product-price {
	line-height: normal;
	font-weight: 600;
	font-size: 175%;
}

.vmproduct .product-link {
	font-size: 100%;
	margin-top: 5px;
	display: none;
}

@media (min-width: 1200px) {
	.vmproduct:not(.vmproduct-carousel) .product-container {
		width: -webkit-calc((100% / 6) - (15px - (15px / 6)));
		width: -moz-calc((100% / 6) - (15px - (15px / 6)));
		width: calc((100% / 6) - (15px - (15px / 6)));
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:nth-of-type(6n) {
		margin-right: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.vmproduct:not(.vmproduct-carousel) .product-container {
		width: -webkit-calc((100% / 3) - (15px - (15px / 3)));
		width: -moz-calc((100% / 3) - (15px - (15px / 3)));
		width: calc((100% / 3) - (15px - (15px / 3)));
		margin-top: 2rem;
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:nth-of-type(-n+3) {
		margin-top: 0;
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:nth-of-type(3n) {
		margin-right: 0;
	}
}

@media (min-width: 450px) and (max-width: 991.98px) {
	.vmproduct:not(.vmproduct-carousel) .product-container {
		width: -webkit-calc((100% / 2) - (15px - (15px / 2)));
		width: -moz-calc((100% / 2) - (15px - (15px / 2)));
		width: calc((100% / 2) - (15px - (15px / 2)));
		margin-top: 2rem;
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:nth-of-type(-n+2) {
		margin-top: 0;
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:nth-of-type(even) {
		margin-right: 0;
	}
}

@media (max-width: 449px) {
	.vmproduct:not(.vmproduct-carousel) .product-container {
		width: 100%;
		margin-top: 2rem;
		margin-right: 0;
	}

	.vmproduct:not(.vmproduct-carousel) .product-container:first-of-type {
		margin-top: 0;
	}
}

/* Additional mod_virtuemart_product style for discounted and new products */
.vmproduct .discounted-product div.PricebasePrice {
	text-decoration: line-through;
	color: #777;
	font-size: 85%;
	font-weight: normal;
}

.vmproduct .discounted-product div.PricesalesPrice {
	color: #d50000;
}

.vmproduct .discounted-product,
.vmproduct .new-product {
	position: relative;
}

.vmproduct .product-badge-discount,
.vmproduct .product-badge-new {
	position: absolute;
	top: 0;
	left: 50%;
	width: 125px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	color: #fff;
	line-height: normal;
	padding: 5px 10px;
	font-weight: 600;
	font-size: 100%;
}

.vmproduct .product-badge-discount {
	background: #d50000;
}

.vmproduct .discounted-product .product-image img {
	background-color: #d50000;
	border-color: #d50000;
}

.vmproduct .product-badge-new {
	background: #2694d1;
}

.vmproduct .new-product .product-image img {
/* 	border-color: #2694d1; */
}

/* Popular products additional style to support Owl Carousel variant of the module */
/* .vmproduct-carousel .product-container {
	height: 100%;
}

.owl-carousel .owl-stage {
	display: -webkit-flex;
	display: flex;
}

.owl-carousel .owl-dots {
	width: 100%;
	text-align: center;
	margin: 10px 0 5px 0;
}

.owl-carousel .owl-dots button.owl-dot {
	background: #2694d1;
	width: 10px;
	height: 10px;
	min-height: 0;
	margin-right: 10px;
	outline: none !important;
	border-radius: 0;
}

.owl-carousel .owl-dots button.owl-dot.active,
.owl-carousel .owl-dots button.owl-dot:hover {
	background: #eb6426;
}

.owl-carousel .owl-dots .owl-dot:last-of-type {
	margin-right: 0;
}

/* Flickity style (Featured products module) */
.module-products-featured .vmproduct-carousel {

}

.module-products-featured .vmproduct-carousel__item {
	display: block;
	margin-right: 1rem;
	min-height: 19rem;
}

.module-products-featured .discounted-product .PricebasePrice {
	display: none;
}

@media (min-width: 1200px) {
	.module-products-featured .vmproduct-carousel__item {
		width: -webkit-calc((100% / 3) - (1rem - (1rem / 3)));
		width: -moz-calc((100% / 3) - (1rem - (1rem / 3)));
		width: calc((100% / 3) - (1rem - (1rem / 3)));
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.module-products-featured .vmproduct-carousel__item {
		width: -webkit-calc((100% / 2) - (1rem - (1rem / 2)));
		width: -moz-calc((100% / 2) - (1rem - (1rem / 2)));
		width: calc((100% / 2) - (1rem - (1rem / 2)));
	}
}

@media (max-width: 991.98px) {
	.module-products-featured .vmproduct-carousel__item {
		width: 100%;
	}
}

/* Additional style for VM products list module on productdetails view */
.moduletable.module-products-featured {
	margin-top: 1.25rem;
}

/* Additional style for the New Products module */
.module-products-new .product-badge-new {
/*     display: none; */
}

.module-virtuemart-product__products {
	margin: 0;
}

.module-virtuemart-product__product {
	margin-top: 2.5rem;
}

.module-virtuemart-product .module-virtuemart-product__product { /* TODO: Remove excessive specificity here */
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	line-height: normal; /* TODO: Remove post J!5 migration */
	text-align: center;
}

.module-virtuemart-product__product_discounted,
.module-virtuemart-product__product_new {
	position: relative; /* Used for proper product-badge rendering. */
}

.module-virtuemart-product__product-badge {
	position: absolute;
	left: 50%;
	top: 0;
	color: #fff;
	font-size: 100%; /* TODO: Remove post J!5 migration */
	font-weight: 600;
	padding: .3125rem .625rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 8rem;
}

.module-virtuemart-product__product-badge_discounted {
	background: #d50000;
}

.module-virtuemart-product__product-badge_new {
	background: #2694d1;
}

.module-virtuemart-product__product-image {

}

.module-virtuemart-product__product-image-file {
	background: #2694d1;
	border: .125rem solid #2694d1;
}

.module-virtuemart-product__product-title {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	font-family: "Open Sans", sans-serif;
	margin-top: .5rem;
}

.module-virtuemart-product__product-link_title {
	color: #000;
	font-size: 100%; /* TODO: Remove post J!5 migration */
	font-weight: 600;
}

.module-virtuemart-product__product-prices {
	color: #000;
	font-family: "Open Sans", sans-serif;
	font-size: 175%; /* TODO: Change post J!5 migration */
	font-weight: 600;
}

.module-virtuemart-product__product-controls {
	margin-top: .5rem;
}

.module-virtuemart-product__product .addtocart-area {

}

.module-virtuemart-product__product form {
	width: 100%; /* TODO: Remove post J!5 migration */
}

.module-virtuemart-product__product .quantity-input {
	margin: 0 .625rem 0 0;
	padding: .375rem;
	text-align: center;
	vertical-align: bottom;
	width: 2.5rem;
}

.module-virtuemart-product__product .quantity-plus,
.module-virtuemart-product__product .quantity-minus {
	height: 2.5rem;
	width: 2.5rem;
	background: #fff;
	border: .125rem solid #2694d1;
	color: #2694d1;
	font-size: 50%; /* TODO: Change post J!5 migration */
	padding: 0 !important;
	margin: 0 !important;
}

.module-virtuemart-product__product .quantity-plus {
	margin-left: .625rem !important;
}

.module-virtuemart-product__product .quantity-plus:focus,
.module-virtuemart-product__product .quantity-plus:hover,
.module-virtuemart-product__product .quantity-plus:active,
.module-virtuemart-product__product .quantity-minus:focus,
.module-virtuemart-product__product .quantity-minus:hover,
.module-virtuemart-product__product .quantity-minus:active {
	background: #fff;
	border-color: #eb6426;
	color: #eb6426;
}

.module-virtuemart-product__product span.addtocart-button {
	display: block;
	margin-top: 1rem;
	text-align: center;
}

.module-virtuemart-product__product input.addtocart-button {
	color: #000;
	background: #fff;
	border: .125rem solid #eb6426;
}

.module-virtuemart-product__product input.addtocart-button:focus,
.module-virtuemart-product__product input.addtocart-button:hover {
	color: #fff;
	background: #eb6426;
}

.module-virtuemart-product__product-links {
	display: none;
}

/* Additional style for discounted products */
.module-virtuemart-product__product_discounted .module-virtuemart-product__product-image-file {
	background-color: #d50000;
	border-color:#d50000;
}

.module-virtuemart-product__product_discounted div.PricebasePrice {
	color: #777;
	font-size: 85%; /* TODO: Change post J!5 migration */
	font-weight: normal; /* TODO: Remove post J!5 migration */
	text-decoration: line-through;
}

.module-virtuemart-product__product_discounted div.PricesalesPrice {
	color: #d50000;
}

.module-virtuemart-product__product_discounted div.PricediscountAmount {
	display: none;
}

/* Accepted payment systems logos module */
.rstpl-custom.accepted-payment-systems-module {

}

.accepted-payment-systems {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.accepted-payment-systems > div {
	margin: 0 .625rem;
}

.accepted-payment-systems img {
	width: 4rem;
/* 	-webkit-filter: grayscale(100%);
	filter: grayscale(100%); */
}

@media (max-width: 575.98px) {
	.accepted-payment-systems > div {
		margin: .3125rem;
	}

	.accepted-payment-systems img {
		width: 3rem;
	}
}

/* Airis module style */
.airis-signature {
	color: var(--bs-body-color);
	margin: 1.5rem 0 .5rem 0;
	text-align: center;
}

.airis-signature__link {
	color: var(--bs-body-color);
}

.airis-signature__caption {
	font-size: .75rem;
}

.airis-signature__company-name {
	font-size: .875rem;
}

@media (max-width: 575.98px) {
	.airis-signature__company-name_full {
		display: none;
	}
}

/* Payment and delivery page styles */
.payment-and-delivery-accepted-payment-systems-wrap .accepted-payment-systems img {
	width: 6rem;
}

@media (max-width: 767.98px) {
	.payment-and-delivery-accepted-payment-systems-wrap .accepted-payment-systems div {
		margin: .625rem;
	}
}

/* fancyBox 3 style */
.fancybox-bg {
	background: var(--bs-body-bg);
}

.fancybox-is-open .fancybox-bg {
	opacity: .8;
}

.fancybox-progress {
	background: var(--color-secondary);
}

.fancybox-button {
	background: var(--color-primary);
	color: var(--bs-body-bg);
	transition: none;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
	color: var(--bs-body-color);
}

.fancybox-thumbs {
	background: var(--bs-body-bg);
}

.fancybox-thumbs__list a:before {
	border-color: var(--color-primary);
}

/* System alerts */
joomla-alert {
	--jui-alert-border: none;
	--jui-alert-border-radius: 0;
	--jui-alert-margin: 0 0 .5rem 0;
	--jui-alert-padding: .75rem 1rem;
	animation: none;
}

joomla-alert[type="danger"] {
	background: var(--color-warning);
	color: var(--bs-body-bg);
}

joomla-alert[type="info"] {
	background: var(--color-primary);
	color: var(--bs-body-bg);
}

joomla-alert[type="warning"] {
	background: var(--color-secondary);
	color: var(--bs-body-bg);
}

.joomla-alert--close {
	display: none;
}

.alert-message {
	text-align: center;
}

/* Bootstrap Toasts */
.airis__toast {
	--bs-toast-bg: var(--color-primary);
	--bs-toast-font-size: var(--bs-body-font-size);
	--bs-toast-color: var(--bs-body-bg);
	--bs-toast-border-width: 0;
}

.airis__toast-link {
	color: var(--bs-body-bg);
	border-bottom: .0625rem dashed var(--bs-body-bg);
}

.airis__toast-link:focus,
.airis__toast-link:hover,
.airis__toast-link:active {
	color: var(--bs-body-bg);
}

.airis__toast-button-close {
	display: none;
}

.airis__toast .d-flex {
	-webkit-justify-content: center;
	justify-content: center;
}

@media (max-width: 575.98px) {
	.airis__toast-body {
		font-size: .875rem;
	}
}

/* Convert Forms style */
.convertforms {
	margin: 0 auto;
	max-width: 100%;
	width: 32rem;
}

.cf-label {
	font-weight: 600;
	margin-bottom: .125rem;
}

.cf-recaptcha-v3-text-badge {
	display: none;
}

.cf-control-group {
	margin-top: .75rem
}

.cf-control-group:first-child {
	margin-top: 0;
}

.cf-control-input input[type="text"],
.cf-control-input input[type="email"] {
	width: 100%;
}

.cf-control-group[data-type="submit"] {
	margin-top: 1rem;
}

.cf-control-input button[type="submit"] {
	width: 100%;
	background: var(--vkusm-color-primary); /* Convert Forms overrides --color-primary so we had to use this. */
}

.cf-response {
/*     background: var(--color-primary);
	color: var(--color-text-with-background);
	padding: 1rem; */ /* Useless as the .cf-response element is displayed at all times. */
	color: var(--vkusm-color-primary); /* Convert Forms overrides --color-primary so we had to use this. */
	font-weight: 600;
}

.airis-page_template_component .convertforms {
	padding: 1rem;
}







@media (max-width: 767px) {

/* =====================================================
   HEADER — ОТКЛЮЧЕНИЕ СТАРОГО ВЕРХА
   ===================================================== */

.header-wrap {
  display: none !important;
}


/* =====================================================
   HEADER — каркас
   ===================================================== */

header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #2f86b3;
  border-bottom: 1px solid #246b8f;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.10);
}

header .airis-module-container.container {
  padding-left: 12px;
  padding-right: 12px;
}

.airis-module-position-header-2 {
  padding: 12px 0 0;
}

.airis-module-position-header-3 {
  margin-top: -40px;
  padding: 0 0 12px;
}


/* =====================================================
   HEADER — меню (бургер)
   ===================================================== */

.airis-module-position-header-2 .airis-module__content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.airis-module-menu__toggler {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px !important;
  border: none !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #f36f21 !important;
  box-shadow: none !important;
}

.airis-module-menu__toggler::after {
  content: "Меню";
  font-size: 15px;
  font-weight: 600;
  color: #f36f21;
}

.airis-module-menu__toggler-icon {
  width: 20px;
  height: 20px;
  position: relative;
  background-image: none !important;
}

.airis-module-menu__toggler-icon::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 14px;
  background:
    linear-gradient(#f36f21, #f36f21) 0 0 / 20px 2px no-repeat,
    linear-gradient(#f36f21, #f36f21) 0 6px / 20px 2px no-repeat,
    linear-gradient(#f36f21, #f36f21) 0 12px / 20px 2px no-repeat;
}


/* =====================================================
   HEADER — структура поиска и ЛК
   ===================================================== */

.airis-module-position-header-3 .header-forms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.header-forms__item {
  margin-bottom: 0 !important;
  text-align: left !important;
}

.header-forms__item:first-child {
  order: 2;
  width: 100%;
  margin-top: 10px;
}

.header-forms__item:last-child {
  order: 1;
  margin-left: auto;
}


/* =====================================================
   HEADER — личный кабинет
   ===================================================== */

.vm-login-module {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.vkusm-module-login {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  background: transparent;
}

.vkusm-module-login__link,
.vkusm-module-login__button,
.vkusm-module-login__button_action_logout,
input.vkusm-module-login__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  background: #ffffff !important;
  color: #f36f21 !important;
  font-size: 14px;
  font-weight: 700;
  border: none !important;
}

.vkusm-module-login__icon {
  margin-right: 6px;
  color: #f36f21;
}

.vkusm-module-login_sublayout_logout .vkusm-module-login__link {
  display: none !important;
}


/* =====================================================
   HEADER — выравнивание меню и ЛК
   ===================================================== */

.airis-module-position-header-2 .airis-module-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.airis-module-position-header-2 .airis-module:last-child {
  margin-left: auto !important;
}


/* =====================================================
   HEADER — выпадающее меню
   ===================================================== */

.airis-module-position-header-2 .airis-module-container {
  position: relative !important;
}

.airis-module-position-header-2 .airis-module-menu {
  position: static !important;
}

.airis-module-position-header-2 .airis-module-menu__collapse,
.airis-module-position-header-2 .navbar-collapse,
.airis-module-position-header-2 .collapse.show {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.airis-module-position-header-2 .airis-module-menu__link {
  display: block !important;
  width: 100% !important;
  padding: 14px 16px !important;
  text-align: center !important;
}


/* =====================================================
   HEADER — поиск
   ===================================================== */

.header-forms__item:first-child {
  margin-top: 26px !important;
}

.vm-catalog-search-module .search {
  display: flex;
  align-items: center;
  padding: 3px;
  background: #ffffff;
  border: 2px solid #f36f21;
  border-radius: 14px;
  overflow: hidden;
}

.vm-catalog-search-module input[type="text"] {
  flex: 1;
  height: 36px;
  padding: 0 12px !important;
  border: none !important;
  background: transparent !important;
}

.vm-catalog-search-module input[type="submit"] {
  width: 34px !important;
  height: 30px;
  margin: 0 4px 0 6px;
  border-radius: 8px !important;
  background-color: #f36f21 !important;
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
  <circle cx='11' cy='11' r='7' stroke='white' stroke-width='2' fill='none'/>\
  <line x1='16.5' y1='16.5' x2='21' y2='21' stroke='white' stroke-width='2'/>\
  </svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  color: transparent !important;
}

}





@media (max-width: 767px) {

/* =====================================================
   HEADER — одна линия: меню слева, ЛК справа
   ===================================================== */

/* делаем header-2 базой */
.airis-module-position-header-2 .airis-module-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative;
}

/* меню прижимаем влево */
.airis-module-position-header-2 .airis-module:first-child {
  order: 1;
}

/* ЛК вытаскиваем вверх в эту же строку */
.airis-module-position-header-3 {
  margin-top: -52px !important;
  padding-top: 0 !important;
}

/* сам блок ЛК */
.header-forms__item:last-child {
  position: absolute;
  top: 12px;
  right: 12px;
  margin: 0 !important;
  z-index: 10;
}

/* поиск оставляем ниже */
.header-forms__item:first-child {
  order: 2;
  width: 100%;
  margin-top: 58px !important;
}

/* фикс выравнивания */
.vm-login-module,
.vkusm-module-login {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

}





@media (max-width: 767px) {

/* меню строго влево */
.airis-module-position-header-2 .airis-module__content {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

/* сам бургер убираем от центра */
.airis-module-menu__toggler {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* на всякий случай убираем центрирование bootstrap */
.navbar-toggler {
  margin-left: 0 !important;
}

}






@media (max-width: 767px) {

/* меню реально уводим влево */
.airis-module-menu__container.airis-module-menu__container_menu-type_mainmenu.container-fluid {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding-left: 0 !important;
}

/* сама кнопка без авто-центровки */
.airis-module-menu__toggler.airis-module-menu__toggler_menu-type_mainmenu.navbar-toggler {
  margin: 0 !important;
}

}



@media (max-width: 767px) {

.airis-module-position-header-2 .airis-module:last-child {
  margin-left: 0 !important;
}

}




@media (max-width: 767px) {

.vkusm-module-login__link,
.vkusm-module-login__button,
.vkusm-module-login__button_action_logout,
input.vkusm-module-login__button {
  height: 40px !important;
  min-height: 40px !important;
}

}






@media (max-width: 767px) {

/* =====================================================
   SYSTEM MESSAGES / LK — аккуратный стиль системных плашек
   ===================================================== */

joomla-alert[type="info"] {
  display: block;
  margin: 12px 0 14px !important;
  padding: 14px 16px !important;
  border: none !important;
  border-radius: 16px !important;
  background: #eef7fc !important;
  box-shadow: none !important;
  position: relative;
}

joomla-alert[type="info"] .alert-heading {
  display: none !important;
}

joomla-alert[type="info"] .alert-message {
  color: #2f86b3 !important;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
}

/* =====================================================
   LK — форма входа
   ===================================================== */

.vm-main-login-form {
  margin: 0 0 16px !important;
  padding: 18px 16px !important;
  border: none !important;
  border-radius: 16px !important;
  background: #eef7fc !important;
  text-align: center;
  box-shadow: none !important;
  color: #2b2b2b !important;
}

.vm-main-login-form form {
  margin: 0 !important;
  color: #2f86b3 !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.vm-main-login-form .vm-page-title,
.vm-main-login-form h2 {
  color: #2f86b3 !important;
  opacity: 1 !important;
}

.vm-main-login-form input[type="text"],
.vm-main-login-form input[type="password"],
.vm-main-login-form .inputbox {
  color: #2b2b2b !important;
  background: #ffffff !important;
}

.vm-main-login-form label {
  color: #2b2b2b !important;
  opacity: 1 !important;
}

.vm-main-login-form a {
  color: #2f86b3 !important;
  opacity: 1 !important;
}

.vm-main-login-form .form-notice {
  color: #5a5a5a !important;
  opacity: 1 !important;
}

.vm-main-login-form .button,
.vm-main-login-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 38px;
  margin-top: 14px;
  padding: 0 18px !important;
  border: none !important;
  border-radius: 10px !important;
  background: #f36f21 !important;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

/* =====================================================
   LK — регистрация
   ===================================================== */

.vm-main-form-wrap {
  background: #dde7ed;
  border-radius: 18px;
  padding: 24px 18px 28px;
  margin: 24px 0 0;
  box-sizing: border-box;
}

.vm-main-form-wrap form {
  margin: 0;
}

.vm-main-form-wrap table.adminForm.user-details {
  width: 100%;
  border: none;
  border-collapse: collapse;
  background: transparent;
}

.vm-main-form-wrap table.adminForm.user-details tbody,
.vm-main-form-wrap table.adminForm.user-details tr,
.vm-main-form-wrap table.adminForm.user-details td {
  display: block;
  width: 100%;
  border: none !important;
  box-sizing: border-box;
}

.vm-main-form-wrap table.adminForm.user-details tr {
  margin-bottom: 16px;
}

.vm-main-form-wrap table.adminForm.user-details td.key {
  margin-bottom: 6px;
  padding: 0;
}

.vm-main-form-wrap table.adminForm.user-details td:not(.key) {
  padding: 0;
}

.vm-main-form-wrap table.adminForm.user-details label {
  display: block;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  color: #2a2a2a;
  margin: 0;
}

.vm-main-form-wrap .asterisk {
  color: #f57c1f;
}

.vm-main-form-wrap input[type="text"],
.vm-main-form-wrap input[type="email"],
.vm-main-form-wrap input[type="password"] {
  width: 100% !important;
  max-width: 100%;
  height: 46px;
  background: #ffffff;
  border: 1.5px solid #f57c1f;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 15px;
  color: #222;
  box-sizing: border-box;
  outline: none;
  transition: all 0.2s ease;
}

.vm-main-form-wrap input:hover {
  border-color: #ff8a33;
}

.vm-main-form-wrap input:focus {
  border-color: #2f93cc;
  box-shadow: 0 0 0 3px rgba(47, 147, 204, 0.15);
  background: #fff;
}

.vm-main-form-wrap input::placeholder {
  color: #9aa7b2;
}

.vm-main-form-wrap .buttonBar-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 26px;
}

.vm-main-form-wrap .buttonBar-right .button {
  display: block;
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 48px;
  text-align: center;
  cursor: pointer;
  transition: 0.2s ease;
  padding: 0 16px;
}

.vm-main-form-wrap .buttonBar-right .button[type="submit"] {
  background: #2f93cc;
  color: #fff;
}

.vm-main-form-wrap .buttonBar-right .button[type="submit"]:hover {
  background: #277fb0;
}

.vm-main-form-wrap .buttonBar-right .button[type="reset"] {
  background: #f57c1f;
  color: #fff;
}

.vm-main-form-wrap .buttonBar-right .button[type="reset"]:hover {
  background: #df6d16;
}

.vm-main-form-wrap .form-control {
  background-image: none !important;
}

.vm-main-form-wrap noscript .alert {
  margin-top: 12px;
}

.vm-main-form-wrap {
  padding: 20px 14px 24px;
  border-radius: 16px;
}

.vm-main-form-wrap table.adminForm.user-details tr {
  margin-bottom: 14px;
}

.vm-main-form-wrap table.adminForm.user-details label {
  font-size: 14px;
}

.vm-main-form-wrap input {
  height: 44px;
  font-size: 14px;
}

.vm-main-form-wrap .buttonBar-right .button {
  height: 46px;
  line-height: 46px;
  font-size: 15px;
}

}





@media (max-width: 768px) {

    .airis-module-menu__list_menu-type_mainmenu {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    .airis-module-menu__item {
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    .airis-module-menu__link {
        border: none !important;
    }

    .airis-module-menu__item + .airis-module-menu__item {
        border-top: none !important;
    }

    .navbar-nav {
        border: none !important;
        box-shadow: none !important;
    }

}




@media (max-width: 768px) {

    #mod_virtuemart_search:focus {
        outline: none !important;
        box-shadow: none !important;
        border: none !important;
    }

}






/* =========================
   О МАГАЗИНЕ — ПК (по умолчанию)
   ========================= */

.vm-about-desktop {
    display: block !important;
}

.vm-about-mobile {
    display: none !important;
}

.vm-about-desktop p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.7;
    color: #2d2d2d;
}


/* =========================
   О МАГАЗИНЕ — МОБИЛКА
   ========================= */

@media (max-width: 768px) {

    .vm-about-desktop {
        display: none !important;
    }

    .vm-about-mobile {
        display: block !important;
        margin: 20px 0 28px;
    }

    .vm-about-accordion {
        border: 1px solid rgba(47, 147, 204, 0.22);
        border-radius: 16px;
        overflow: hidden;
        background: #eef5f8;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    }

    .vm-about-summary {
        list-style: none;
        cursor: pointer;
        padding: 16px 14px 14px;
        background: linear-gradient(180deg, #eef6fa 0%, #e2edf3 100%);
        position: relative;
    }

    .vm-about-summary::-webkit-details-marker {
        display: none;
    }

    .vm-about-summary::before {
        content: "";
        position: absolute;
        top: 22px;
        right: 14px;
        width: 10px;
        height: 10px;
        border-right: 2px solid #2f93cc;
        border-bottom: 2px solid #2f93cc;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }

    .vm-about-accordion[open] .vm-about-summary::before {
        transform: rotate(225deg);
        top: 26px;
    }

    .vm-about-preview-text {
        display: block;
        padding-right: 24px;
        font-size: 14px;
        line-height: 1.55;
        color: #2d2d2d;
    }

    .vm-about-btn {
        display: inline-flex;
        justify-content: center;
        width: 100%;
        margin-top: 12px;
        padding: 10px;
        background: #f57c1f;
        color: #fff;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 700;
    }

    .vm-about-accordion[open] .vm-about-btn {
        display: none;
    }

    .vm-about-content {
        padding: 16px 14px;
        border-top: 1px solid rgba(47, 147, 204, 0.18);
        background: #f8fbfc;
    }

    .vm-about-content p {
        margin: 0 0 14px;
        font-size: 14px;
        line-height: 1.68;
    }

    .vm-about-content p:last-child {
        margin-bottom: 0;
    }
}






/* =========================
   ГЛАВНОЕ МЕНЮ ПОДВАЛА — ПК (по умолчанию)
   ========================= */

#mod-custom105 .custom-main-menu-desktop {
    display: block !important;
}

#mod-custom105 .custom-main-menu-mobile {
    display: none !important;
}


/* =========================
   КАТАЛОГ В ПОДВАЛЕ — ПК (по умолчанию)
   ========================= */

.vm-categories-desktop {
    display: block !important;
}

.vm-categories-mobile {
    display: none !important;
}


/* =========================
   МОБИЛКА — АККУРАТНЫЙ АККОРДЕОН В ПОДВАЛЕ
   ========================= */

@media (max-width: 768px) {

    /* скрываем ПК-версии */
    #mod-custom105 .custom-main-menu-desktop {
        display: none !important;
    }

    #mod-custom105 .custom-main-menu-mobile {
        display: block !important;
    }

    .vm-categories-desktop {
        display: none !important;
    }

    .vm-categories-mobile {
        display: block !important;
    }

    /* =========================
       БАЗА ДЛЯ ОБОИХ БЛОКОВ
       ========================= */

    #mod-custom105 .vm-footer-group,
    .vm-categories-mobile .vm-mobile-catalog-group {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

    #mod-custom105 .vm-footer-group summary,
    .vm-categories-mobile .vm-mobile-catalog-group summary {
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 12px 0;
        margin: 0;
        box-sizing: border-box;
        cursor: pointer;
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(47, 134, 179, 0.22);
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.3;
        color: #000000 !important;
        text-align: left;
    }

    #mod-custom105 .vm-footer-group summary::-webkit-details-marker,
    .vm-categories-mobile .vm-mobile-catalog-group summary::-webkit-details-marker {
        display: none;
    }

    /* стрелка */
    #mod-custom105 .vm-footer-group summary::after,
    .vm-categories-mobile .vm-mobile-catalog-group summary::after {
        content: "▾";
        display: inline-block !important;
        font-size: 14px;
        color: #000000;
        transition: transform 0.2s ease;
        margin-left: 12px;
        flex-shrink: 0;
    }

    #mod-custom105 .vm-footer-group[open] summary::after,
    .vm-categories-mobile .vm-mobile-catalog-group[open] summary::after {
        transform: rotate(180deg);
    }

    /* =========================
       ВНУТРЕННИЕ ССЫЛКИ
       ========================= */

    #mod-custom105 .vm-footer-links,
    .vm-categories-mobile .vm-mobile-catalog-links {
        padding: 10px 0 4px 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    #mod-custom105 .vm-footer-links a,
    .vm-categories-mobile .vm-mobile-catalog-links a {
        display: block;
        text-decoration: none;
        font-size: 14px;
        line-height: 1.45;
        color: #2d2d2d;
        padding: 0;
        margin: 0;
    }

    /* уменьшаем расстояние между двумя секциями */
    .vm-categories-mobile {
        margin-bottom: 2px;
    }

    /* убираем любой старый кнопочный вид */
    #mod-custom105 .vm-footer-group summary,
    .vm-categories-mobile .vm-mobile-catalog-group summary,
    #mod-custom105 .vm-footer-group,
    .vm-categories-mobile .vm-mobile-catalog-group {
        min-height: auto !important;
    }
}



@media (max-width: 768px) {

    #mod-custom105 .vm-footer-group,
    .vm-categories-mobile .vm-mobile-catalog-group {
        margin: 0 0 4px 0 !important;
    }

    /* дополнительно убираем возможный лишний отступ у контейнера */
    .vm-categories-mobile {
        margin-bottom: 0 !important;
    }

}








/* =====================================================
   МОБИЛКА — КАРТОЧКИ VIRTUEMART
   КАТАЛОГ + АКЦИИ
   2 КОЛОНКИ / БЕЗ КОЛИЧЕСТВА / ЕДИНЫЙ ФИРМЕННЫЙ СТИЛЬ
   ===================================================== */

@media (max-width: 768px) {

    /* =====================================================
       1. ОБЩИЕ ПРАВИЛА
       ===================================================== */

    /* единая кнопка */
    input.addtocart-button {
        width: 100% !important;
        min-height: 36px !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid #f5821f !important;
        border-radius: 8px !important;
        color: #f5821f !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        transition: all 0.2s ease;
    }

    input.addtocart-button:active {
        background: #f5821f !important;
        color: #ffffff !important;
    }

    /* скрываем количество и +/- везде */
    .quantity-box,
    .quantity-controls {
        display: none !important;
    }

    /* общая типографика цен */
    .PricesalesPrice {
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    .PricebasePrice,
    .PricebasePrice span {
        opacity: 1 !important;
        color: #8a8a8a !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;
    }

    /* =====================================================
       2. КАТАЛОГ
       ===================================================== */

    .products-wrap {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .products-wrap > .product,
    .products-wrap > .product.new-product,
    .products-wrap > .product.discounted-product {
        width: calc(50% - 5px) !important;
        margin: 0 !important;
        padding: 10px !important;
        float: none !important;
        clear: none !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .products-wrap > .product .product-image,
    .products-wrap > .product.new-product .product-image,
    .products-wrap > .product.discounted-product .product-image {
        margin: 0 0 8px 0 !important;
        border: none !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .products-wrap > .product .browseProductImage,
    .products-wrap > .product.new-product .browseProductImage,
    .products-wrap > .product.discounted-product .browseProductImage {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 8px !important;
    }

    .products-wrap > .product .product-title,
    .products-wrap > .product.new-product .product-title,
    .products-wrap > .product.discounted-product .product-title {
        margin: 0 0 6px 0 !important;
        min-height: 58px !important;
        text-align: center !important;
    }

    .products-wrap > .product .product-title a,
    .products-wrap > .product.new-product .product-title a,
    .products-wrap > .product.discounted-product .product-title a {
        display: block !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        color: #1e1e1e !important;
        font-weight: 500 !important;
    }

    .products-wrap > .product .product-prices,
    .products-wrap > .product.new-product .product-prices,
    .products-wrap > .product.discounted-product .product-prices {
        margin: 0 0 8px 0 !important;
        text-align: center !important;
    }

    .products-wrap .PricesalesPrice {
        font-size: 18px !important;
        color: #1e1e1e !important;
    }

    .products-wrap .product-add-to-cart-controls,
    .products-wrap .addtocart-area,
    .products-wrap .addtocart-bar {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .products-wrap .addtocart-button {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .products-wrap .product-details-button {
        display: none !important;
    }

    .products-wrap .product-badge-new,
    .products-wrap .product-badge-discount {
        font-size: 11px !important;
        padding: 4px 8px !important;
    }

    .products-wrap .product-badge-new {
        background: #2f86b3 !important;
        border-radius: 6px !important;
    }

    /* =====================================================
       3. АКЦИИ
       ===================================================== */

    .airis-module-virtuemart-product__products {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .airis-module-virtuemart-product__products > li {
        width: calc(50% - 5px) !important;
        margin: 0 !important;
        padding: 10px !important;
        float: none !important;
        clear: none !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* главное: убираем внешний красный квадратный контур и
       формируем картинку как цельный аккуратный блок */
    .airis-module-virtuemart-product__product-image,
    .module-virtuemart-product__product-image,
    .virtuemart-product__product-image {
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        text-align: center !important;
        border: none !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    .airis-module-virtuemart-product__product-image a,
    .module-virtuemart-product__product-link_image,
    .virtuemart-product__product-link_image {
        display: block !important;
        border: 1px solid #ef3f37 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    .airis-module-virtuemart-product__product-image-file,
    .module-virtuemart-product__product-image-file,
    .virtuemart-product__product-image-file {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 0 !important;
    }

    .airis-module-virtuemart-product__product-title {
        margin: 0 0 6px 0 !important;
        min-height: 58px !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-title a {
        display: block !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        color: #1e1e1e !important;
        font-weight: 500 !important;
    }

    .airis-module-virtuemart-product__product-prices {
        margin: 0 0 8px 0 !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-prices .PricesalesPrice {
        font-size: 18px !important;
        color: #e94b1b !important;
    }

    .airis-module-virtuemart-product__product-prices .PricediscountAmount {
        display: none !important;
    }

    .airis-module-virtuemart-product__product-prices .price-crossed {
        opacity: 1 !important;
        border-color: #9a9a9a !important;
    }

    .airis-module-virtuemart-product__product-controls,
    .airis-module-virtuemart-product__product-controls .addtocart-area,
    .airis-module-virtuemart-product__product-controls .addtocart-bar {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__products .addtocart-button {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .airis-module-virtuemart-product__product-badge_discounted,
    .module-virtuemart-product__product-badge_discounted,
    .virtuemart-product__product-badge_discounted {
        background: #e53935 !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        padding: 4px 8px !important;
        line-height: 1.2 !important;
    }
}

/* =====================================================
   МОБИЛКА — АКЦИИ В СТИЛЕ КАТАЛОГА
   ЕДИНЫЙ ВИЗУАЛ, ОТЛИЧИЯ ТОЛЬКО В БЕЙДЖЕ И ЦЕНЕ
   ===================================================== */

@media (max-width: 768px) {

    /* контейнер */
    .airis-module-virtuemart-product__products {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    /* карточка */
    .airis-module-virtuemart-product__products > li {
        width: calc(50% - 5px) !important;
        margin: 0 !important;
        padding: 10px !important;
        float: none !important;
        clear: none !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* картинка — как в каталоге */
    .airis-module-virtuemart-product__product-image,
    .module-virtuemart-product__product-image,
    .virtuemart-product__product-image {
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: transparent !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-image a,
    .module-virtuemart-product__product-link_image,
    .virtuemart-product__product-link_image {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    .airis-module-virtuemart-product__product-image::after,
    .module-virtuemart-product__product-image::after,
    .virtuemart-product__product-image::after {
        display: none !important;
        content: none !important;
    }

    .airis-module-virtuemart-product__product-image-file,
    .module-virtuemart-product__product-image-file,
    .virtuemart-product__product-image-file {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border: none !important;
        border-radius: 8px !important;
        background: transparent !important;
    }

    /* название */
    .airis-module-virtuemart-product__product-title {
        margin: 0 0 6px 0 !important;
        min-height: 58px !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-title a {
        display: block !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        color: #1e1e1e !important;
        font-weight: 500 !important;
    }

    /* цены */
    .airis-module-virtuemart-product__product-prices {
        margin: 0 0 8px 0 !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-prices .PricebasePrice,
    .airis-module-virtuemart-product__product-prices .PricebasePrice span {
        opacity: 1 !important;
        color: #8a8a8a !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;
    }

    .airis-module-virtuemart-product__product-prices .PricesalesPrice {
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        color: #e94b1b !important;
    }

    .airis-module-virtuemart-product__product-prices .PricediscountAmount {
        display: none !important;
    }

    .airis-module-virtuemart-product__product-prices .price-crossed {
        opacity: 1 !important;
        border-color: #9a9a9a !important;
    }

    /* скрываем количество */
    .airis-module-virtuemart-product__products .quantity-box,
    .airis-module-virtuemart-product__products .quantity-controls {
        display: none !important;
    }

    /* блок корзины */
    .airis-module-virtuemart-product__product-controls,
    .airis-module-virtuemart-product__product-controls .addtocart-area,
    .airis-module-virtuemart-product__product-controls .addtocart-bar {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__products .addtocart-button {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    /* кнопка — как в каталоге */
    .airis-module-virtuemart-product__products input.addtocart-button {
        width: 100% !important;
        min-height: 36px !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid #f5821f !important;
        border-radius: 8px !important;
        color: #f5821f !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        transition: all 0.2s ease;
    }

    .airis-module-virtuemart-product__products input.addtocart-button:active {
        background: #f5821f !important;
        color: #ffffff !important;
    }

    /* бейдж акции */
    .airis-module-virtuemart-product__product-badge_discounted,
    .module-virtuemart-product__product-badge_discounted,
    .virtuemart-product__product-badge_discounted {
        background: #e53935 !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        padding: 4px 8px !important;
        line-height: 1.2 !important;
        position: relative !important;
        z-index: 2 !important;
    }
}

/* =====================================================
   МОБИЛКА — АКЦИИ
   ВОЗВРАЩАЕМ СИНЮЮ РАМКУ У КАРТИНКИ КАК В КАТАЛОГЕ
   ===================================================== */

@media (max-width: 768px) {

    .airis-module-virtuemart-product__product-image,
    .module-virtuemart-product__product-image,
    .virtuemart-product__product-image {
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        border: 1px solid #2f86b3 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: transparent !important;
        text-align: center !important;
    }

    .airis-module-virtuemart-product__product-image a,
    .module-virtuemart-product__product-link_image,
    .virtuemart-product__product-link_image {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    .airis-module-virtuemart-product__product-image-file,
    .module-virtuemart-product__product-image-file,
    .virtuemart-product__product-image-file {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
}



/* =====================================================
   МОБИЛКА — ГЛАВНАЯ СТРАНИЦА
   КАРУСЕЛЬ ТОВАРОВ: ОБЫЧНЫЕ И АКЦИОННЫЕ КАРТОЧКИ
   В ЕДИНОМ СТИЛЕ С КАТАЛОГОМ
   ===================================================== */

@media (max-width: 768px) {

    /* ---------- ОБЩАЯ КАРТОЧКА ---------- */

    .product-container {
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }

    /* ---------- КАРТИНКА: ОБЩАЯ БАЗА ---------- */

    .product-container .product-image {
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        text-align: center !important;
    }

    .product-container .product-image a {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .product-container .featuredProductImage {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    /* ---------- ОБЫЧНЫЕ / НОВИНКИ ---------- */

    .product-container:not(.discounted-product) .product-image {
        border: 1px solid #2f86b3 !important;
    }

    .product-container:not(.discounted-product) .PricesalesPrice,
    .product-container:not(.discounted-product) .PricesalesPrice span {
        color: #1e1e1e !important;
    }

    /* ---------- АКЦИОННЫЕ ---------- */

    .product-container.discounted-product .product-image {
        border: 1px solid #ef3f37 !important;
    }

    .product-container.discounted-product .PricesalesPrice,
    .product-container.discounted-product .PricesalesPrice span {
        color: #e94b1b !important;
    }

    /* ---------- НАЗВАНИЕ ---------- */

    .product-container .product-title {
        margin: 0 0 8px 0 !important;
        text-align: center !important;
        min-height: 54px !important;
    }

    .product-container .product-title a {
        display: block !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        color: #1e1e1e !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    /* ---------- ЦЕНЫ ---------- */

    .product-container .productdetails {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .product-container .product-price {
        margin: 0 0 8px 0 !important;
        text-align: center !important;
    }

    .product-container .PricebasePrice,
    .product-container .PricebasePrice span {
        opacity: 1 !important;
        color: #8a8a8a !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;
    }

    .product-container .PricesalesPrice,
    .product-container .PricesalesPrice span {
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
    }

    /* ---------- КНОПКА / ССЫЛКА ---------- */

    .product-container .product-link {
        margin: 0 !important;
        padding: 0 !important;
    }

    .product-container .product-link a {
        display: block !important;
        width: 100% !important;
        min-height: 36px !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid #f5821f !important;
        border-radius: 8px !important;
        color: #f5821f !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    .product-container .product-link a:active {
        background: #f5821f !important;
        color: #ffffff !important;
    }

    /* ---------- БЕЙДЖИ ---------- */

    .product-container .product-badge-new,
    .product-container .product-badge-discount {
        display: inline-block !important;
        margin-top: 8px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        padding: 4px 8px !important;
        color: #ffffff !important;
    }

    .product-container .product-badge-new {
        background: #2f86b3 !important;
    }

    .product-container .product-badge-discount {
        background: #e53935 !important;
    }
}



/* =====================================================
   МОБИЛКА — СТРАНИЦА ТОВАРА VIRTUEMART
   ЕДИНЫЙ СТИЛЬ С КАТАЛОГОМ / АКЦИЯМИ / КАРУСЕЛЬЮ
   ОБЫЧНЫЙ ТОВАР И АКЦИОННЫЙ ТОВАР
   ===================================================== */

@media (max-width: 768px) {

    /* ---------- ОБЩИЙ КОНТЕЙНЕР КАРТОЧКИ ---------- */

    .vm-product-container {
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 12px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }

    /* ---------- ЗАГОЛОВОК ---------- */

    .vm-product-container h1,
    .vm-product-container .product-title,
    .vm-product-details-container h1 {
        font-size: 24px !important;
        line-height: 1.35 !important;
        text-align: center !important;
        margin: 0 0 14px 0 !important;
        color: #1e1e1e !important;
        font-weight: 700 !important;
    }

    /* ---------- ФОТО ТОВАРА ---------- */

    .vm-product-media-container {
        margin: 0 0 14px 0 !important;
    }

    .productdetails__images {
        margin: 0 !important;
        padding: 0 !important;
    }

    .productdetails__images-item {
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #2f86b3 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    .productdetails__image-link {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .productdetails__image {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        border: none !important;
        border-radius: 0 !important;
    }

    /* ---------- АКЦИОННЫЙ ТОВАР: КРАСНАЯ РАМКА У ФОТО ---------- */
    .vm-product-container:has(.PricebasePrice.vm-display) .productdetails__images-item {
        border-color: #ef3f37 !important;
    }

    /* ---------- ЦЕНЫ ---------- */

    .vm-product-details-container .product-price {
        margin: 0 0 12px 0 !important;
        text-align: center !important;
    }

    .vm-product-details-container .PricesalesPrice,
    .vm-product-details-container .PricesalesPrice span {
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        color: #1e1e1e !important;
    }

    /* старая цена */
    .vm-product-details-container .PricebasePrice,
    .vm-product-details-container .PricebasePrice span {
        opacity: 1 !important;
        color: #8a8a8a !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 400 !important;
    }

    /* акционный товар: текущая цена красная */
    .vm-product-container:has(.PricebasePrice.vm-display) .PricesalesPrice,
    .vm-product-container:has(.PricebasePrice.vm-display) .PricesalesPrice span {
        color: #e94b1b !important;
    }

    .vm-product-details-container .PricediscountAmount {
        display: none !important;
    }

    /* ---------- БЛОК "ЦЕНА УКАЗАНА ЗА..." ---------- */

    .pricing-info-fields,
    .custom-fields-wrap.pricing-info-fields {
        margin: 0 0 14px 0 !important;
        text-align: center !important;
    }

    .pricing-info-fields .product-fields-title,
    .pricing-info-fields .product-fields-title strong {
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #1e1e1e !important;
    }

    .pricing-info-fields .product-field-display {
        display: inline !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #1e1e1e !important;
    }

    .pricing-info-fields .product-field-desc {
        display: none !important;
    }

    /* ---------- КОРЗИНА ---------- */

    .addtocart-area,
    .addtocart-bar {
        margin: 0 0 14px 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    /* скрываем количество и +/- */
    .quantity-box,
    .quantity-controls {
        display: none !important;
    }

    .addtocart-button {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    input.addtocart-button {
        width: 100% !important;
        min-height: 36px !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid #f5821f !important;
        border-radius: 8px !important;
        color: #f5821f !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    input.addtocart-button:active {
        background: #f5821f !important;
        color: #ffffff !important;
    }

    /* ---------- КНОПКА "СВЯЗАТЬСЯ С НАМИ" ---------- */

    .contact-us-product-page {
        width: 100% !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        background: #2f86b3 !important;
        border: 1px solid #2f86b3 !important;
        border-radius: 8px !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        box-shadow: none !important;
    }

    .contact-us-product-page:active {
        opacity: 0.9;
    }
}





/* =====================================================
   МОБИЛКА — ПРЕМИАЛЬНЫЙ ТРЕКЕР КАРУСЕЛИ OWL
   МЯГКИЙ UI, ГРАДИЕНТ, ГЛУБИНА
   ===================================================== */

@media (max-width: 768px) {

    .owl-dots {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 16px 0 12px !important;
        padding: 0 !important;
    }

    .owl-dots .owl-dot {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* базовая точка */
    .owl-dots .owl-dot span {
        display: block !important;
        width: 8px !important;
        height: 8px !important;
        margin: 0 !important;

        background: linear-gradient(180deg, #d9edf7, #b9d7e8);
        border-radius: 999px !important;

        box-shadow:
            inset 0 1px 1px rgba(255,255,255,0.6),
            0 1px 2px rgba(0,0,0,0.08);

        transition: all 0.25s ease !important;
    }

    /* активная */
    .owl-dots .owl-dot.active span {
        width: 22px !important;

        background: linear-gradient(180deg, #ff9a3c, #f5821f);

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.4),
            0 2px 6px rgba(245,130,31,0.35);
    }

    /* лёгкий hover/тап */
    .owl-dots .owl-dot:active span {
        transform: scale(0.92);
        opacity: 0.9;
    }

}




/* =====================================================
   ГЛАВНАЯ — МОБИЛЬНЫЙ БАННЕР ИЗ МОДУЛЯ "МАТЕРИАЛЫ"
   CSS-КЛАСС МОДУЛЯ В JOOMLA:
    mobile-banner-fix
   ===================================================== */

/* -----------------------------------------------------
   1. ПО УМОЛЧАНИЮ НОВЫЙ БАННЕР СКРЫТ НА ПК
   ----------------------------------------------------- */

.mobile-banner-fix,
[class*="mobile-banner-fix"] {
    display: none !important;
}

/* -----------------------------------------------------
   2. МОБИЛКА
   ----------------------------------------------------- */

@media (max-width: 768px) {

    /* скрываем старый DJ-ImageSlider только на мобиле */
    #djslider-loader90,
    #djslider90,
    #slider-container90,
    #cust-navigation90 {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    /* показываем новый баннер только на мобиле */
    .mobile-banner-fix,
    [class*="mobile-banner-fix"] {
        display: block !important;
        margin: 14px 12px 18px !important;
        padding: 0 !important;
    }

    /* убираем все системные списки и маркеры */
    .mobile-banner-fix ul,
    .mobile-banner-fix ol,
    [class*="mobile-banner-fix"] ul,
    [class*="mobile-banner-fix"] ol {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile-banner-fix li,
    [class*="mobile-banner-fix"] li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile-banner-fix li::marker,
    [class*="mobile-banner-fix"] li::marker {
        content: "" !important;
        display: none !important;
    }

    /* убираем возможные лишние буллеты/отступы у Joomla-оберток */
    .mobile-banner-fix .mod-articles,
    .mobile-banner-fix .mod-articles-items,
    .mobile-banner-fix .mod-articles-item,
    .mobile-banner-fix .mod-articles-item-content,
    [class*="mobile-banner-fix"] .mod-articles,
    [class*="mobile-banner-fix"] .mod-articles-items,
    [class*="mobile-banner-fix"] .mod-articles-item,
    [class*="mobile-banner-fix"] .mod-articles-item-content {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* сама карточка баннера */
    .mobile-banner-fix .mod-articles-item-content,
    [class*="mobile-banner-fix"] .mod-articles-item-content {
        background: #ffffff !important;
        border: 1px solid rgba(47, 134, 179, 0.18) !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
    }

    /* заголовок */
    .mobile-banner-fix .mod-articles-title,
    [class*="mobile-banner-fix"] .mod-articles-title {
        margin: 0 !important;
        padding: 14px 14px 8px !important;
        text-align: center !important;
        line-height: 1.25 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    .mobile-banner-fix .mod-articles-title a,
    [class*="mobile-banner-fix"] .mod-articles-title a {
        color: #f5821f !important;
        text-decoration: none !important;
    }

    /* картинка */
    .mobile-banner-fix .pull-mod-articles-image,
    .mobile-banner-fix .item-image,
    [class*="mobile-banner-fix"] .pull-mod-articles-image,
    [class*="mobile-banner-fix"] .item-image {
        margin: 0 !important;
        padding: 0 12px 10px !important;
    }

    .mobile-banner-fix .pull-mod-articles-image img,
    .mobile-banner-fix .item-image img,
    [class*="mobile-banner-fix"] .pull-mod-articles-image img,
    [class*="mobile-banner-fix"] .item-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        border-radius: 12px !important;
    }

    /* подзаголовок */
    .mobile-banner-fix .mod-articles-item-content p,
    [class*="mobile-banner-fix"] .mod-articles-item-content p {
        margin: 0 !important;
        padding: 0 14px 14px !important;
        text-align: center !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        color: #1e1e1e !important;
        font-weight: 500 !important;
    }

    /* чистим подчеркивания у ссылок */
    .mobile-banner-fix a,
    [class*="mobile-banner-fix"] a {
        text-decoration: none !important;
    }
}

/* =====================================================
   КНОПКА "ПОДРОБНЕЕ" — ФИКС ДЛЯ JOOMLA BTN BTN-SECONDARY
   ===================================================== */

@media (max-width: 768px) {

    .mobile-banner-fix p.readmore,
    [class*="mobile-banner-fix"] p.readmore {
        text-align: center !important;
        margin: 10px 0 16px !important;
        padding: 0 !important;
    }

    .mobile-banner-fix p.readmore a.btn.btn-secondary,
    [class*="mobile-banner-fix"] p.readmore a.btn.btn-secondary {
        display: inline-block !important;
        min-height: 40px !important;
        padding: 10px 18px !important;
        border-radius: 22px !important;
        background: linear-gradient(135deg, #4aa3d8, #2f86b3) !important;
        border: 0 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    }

    .mobile-banner-fix p.readmore a.btn.btn-secondary:hover,
    .mobile-banner-fix p.readmore a.btn.btn-secondary:focus,
    .mobile-banner-fix p.readmore a.btn.btn-secondary:active,
    [class*="mobile-banner-fix"] p.readmore a.btn.btn-secondary:hover,
    [class*="mobile-banner-fix"] p.readmore a.btn.btn-secondary:focus,
    [class*="mobile-banner-fix"] p.readmore a.btn.btn-secondary:active {
        background: linear-gradient(135deg, #4aa3d8, #2f86b3) !important;
        color: #ffffff !important;
        border: 0 !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    }

    .mobile-banner-fix p.readmore a.btn.btn-secondary .icon-chevron-right,
    [class*="mobile-banner-fix"] p.readmore a.btn.btn-secondary .icon-chevron-right {
        display: none !important;
    }
}









/* =====================================================
   МОБИЛКА — КАТЕГОРИИ КАТАЛОГА
   ===================================================== */



/* =====================================================
   1. БАЗОВОЕ СКРУГЛЕНИЕ ДЛЯ BLUE-ITEM
   ===================================================== */

@media (max-width: 768px) {
  .vm-category-menu-item.blue-item a {
    border-radius: 18px; /* было 14px */
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .vm-category-menu-item.blue-item a {
    border-radius: 18px !important;
    overflow: hidden;
  }
}



/* =====================================================
   2. ОБЩЕЕ СКРУГЛЕНИЕ КАРТОЧЕК
   ===================================================== */

@media (max-width: 768px) {
  .vm-category-menu-item {
    border-radius: 18px; /* было 14px */
    overflow: hidden;
  }

  .vm-category-menu-item a {
    border-radius: 18px; /* было 14px */
  }
}



/* =====================================================
   3. РОВНОЕ СКРУГЛЕНИЕ (СИНИЙ + ОРАНЖЕВЫЙ)
   ===================================================== */

@media (max-width: 768px) {

  /* общий контейнер */
  .vm-category-menu-item {
    border-radius: 18px;
    overflow: hidden;
  }

  /* ссылка как основа карточки */
  .vm-category-menu-item a {
    display: flex;
    align-items: center;
    border-radius: 18px;
  }

  /* левый блок (иконка) */
  .vm-category-menu-item a > div:first-child {
    border-radius: 18px 0 0 18px;
    overflow: hidden;
  }

  /* правый блок (текст) */
  .vm-category-menu-item a > div:last-child {
    border-radius: 0 18px 18px 0;
  }
}

@media (max-width: 768px) {
  .vm-category-menu-item a > div:first-child {
    margin-right: -1px;
  }
}



/* =====================================================
   4. УБИРАЕМ ЗАЗОРЫ И УСИЛИВАЕМ КОНТУР
   ===================================================== */

@media (max-width: 768px) {

  /* вся карточка */
  .vm-category-menu-item {
    border-radius: 18px;
    overflow: hidden;
  }

  /* ссылка-карточка */
  .vm-category-menu-item a {
    display: flex;
    align-items: stretch;
    border-radius: 18px;
    overflow: hidden;
  }

  /* левый блок с иконкой */
  .vm-category-menu-item a > div:first-child {
    border-radius: 18px 0 0 18px;
    overflow: hidden;
    margin-right: -2px; /* убираем щель */
    position: relative;
    z-index: 2;
  }

  /* правый блок с текстом */
  .vm-category-menu-item a > div:last-child {
    border-radius: 0 18px 18px 0;
    position: relative;
    z-index: 1;
  }

  /* делаем внешнюю рамку чуть толще */
  .vm-category-menu-item.blue-item,
  .vm-category-menu-item.orange-item {
    border-width: 2px !important;
  }

  /* если у внутренних блоков есть свои рамки — убираем их */
  .vm-category-menu-item a > div:first-child,
  .vm-category-menu-item a > div:last-child {
    border: none !important;
    box-shadow: none !important;
  }
}



/* =====================================================
   5. УБИРАЕМ ШОВ МЕЖДУ ИКОНКОЙ И ТЕКСТОМ
   ===================================================== */

@media (max-width: 768px) {

  .vm-category-menu-item {
    border-radius: 18px;
    overflow: hidden;
  }

  .vm-category-menu-item > a {
    display: flex;
    align-items: stretch;
    border-radius: 18px;
    overflow: hidden;
  }

  /* блок с иконкой */
  .vm-category-menu-item > a > div:first-child {
    flex: 0 0 auto;
    margin-right: -2px; /* убираем щель на стыке */
    overflow: hidden;
    border-radius: 18px 0 0 18px;
    position: relative;
    z-index: 2;
  }

  /* сама картинка */
  .vm-category-menu-item > a > div:first-child img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* блок с текстом */
  .vm-category-menu-item > a > div:last-child {
    flex: 1 1 auto;
    border-radius: 0 18px 18px 0;
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 768px) {
  .vm-category-menu-item > a > div:last-child {
    margin-left: -1px;
  }
}



/* =====================================================
   6. ДОБИВКА ПОВЕРХ РАБОЧЕГО КОДА
   центр текста + маскировка шва
   ===================================================== */

@media (max-width: 768px) {

  /* текст по центру карточки */
  .vm-category-menu-item > a > div:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
  }

  /* левый блок делаем опорным */
  .vm-category-menu-item > a > div:first-child {
    position: relative !important;
    z-index: 3 !important;
  }

  /* правый блок чуть заводим под иконку */
  .vm-category-menu-item > a > div:last-child {
    position: relative !important;
    z-index: 1 !important;
    margin-left: -2px !important;
  }

  /* подкрашиваем стык цветом карточки, чтобы убрать видимую щель */
  .vm-category-menu-item > a > div:last-child::before {
    content: "";
    position: absolute;
    top: 0;
    left: -3px;
    width: 6px;
    height: 100%;
    background: #f2f2f2; /* под фон правой части карточки */
    z-index: 2;
  }
}




/* =====================================================
   МОБИЛКА — ПАГИНАЦИЯ КАТАЛОГА
   ===================================================== */

@media (max-width: 768px) {

  /* ---------------------------------
     1. КОНТЕЙНЕР ПАГИНАЦИИ
     --------------------------------- */
  .pagination ul,
  ul.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0;
    margin: 14px 0 18px;
    list-style: none;
  }

  .pagination li {
    display: inline-flex;
  }

  /* ---------------------------------
     2. СКРЫВАЕМ ЛИШНИЕ КНОПКИ
     --------------------------------- */
  .pagination-start,
  .pagination-end {
    display: none !important;
  }

  /* ---------------------------------
     3. ОБЩИЙ СТИЛЬ ДЛЯ ВСЕХ ЭЛЕМЕНТОВ
     --------------------------------- */
  .pagination li .pagenav {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1.5px solid #2f86b3;
    background: #fff;
    color: #2f86b3;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
  }

  /* ---------------------------------
     4. АКТИВНАЯ СТРАНИЦА
     --------------------------------- */
  .pagination li span.pagenav {
    background: #2f86b3;
    color: #fff;
    border-color: #2f86b3;
  }

  /* ---------------------------------
     5. КНОПКИ НАЗАД / ВПЕРЁД
     --------------------------------- */
  .pagination-prev .pagenav,
  .pagination-next .pagenav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1.5px solid #2f86b3;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
    white-space: nowrap;
  }

  .pagination-prev .pagenav {
    background: #ffffff;
    color: #2f86b3;
  }

  li.pagination-next a.pagenav,
  .pagination-next a.pagenav,
  .pagination li.pagination-next a.pagenav {
    background: #5fa8d3 !important;
    color: #ffffff !important;
    line-height: 1 !important;
  }

  /* ---------------------------------
     6. ACTIVE / TAP
     --------------------------------- */
  .pagination li a.pagenav:active,
  .pagination-prev .pagenav:active,
  .pagination-next .pagenav:active {
    background: #2f86b3;
    color: #fff;
  }

}




/* =====================================================
   МОБИЛКА — СЕЛЕКТ КОЛИЧЕСТВА ТОВАРОВ
   ===================================================== */

@media (max-width: 768px) {

  /* контейнер */
  .orderby-displaynumber {
    text-align: center;
    margin: 10px 0 14px;
  }

  /* текст "Показано..." */
  .orderby-displaynumber .display-number > div:first-child {
    font-size: 13px;
    color: #444;
    margin-bottom: 6px;
  }

  /* сам select */
  .orderby-displaynumber select.inputbox {
    appearance: none;
    -webkit-appearance: none;

    height: 36px;
    padding: 0 30px 0 10px;

    border-radius: 10px;
    border: 1.5px solid #f36f21;

    background: #ffffff;
    color: #0f172a;

    font-size: 14px;
    font-weight: 600;

    outline: none;
    box-sizing: border-box;
    cursor: pointer;
  }

  /* стрелка кастомная */
  .orderby-displaynumber {
    position: relative;
  }

  .orderby-displaynumber select.inputbox {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23f36f21' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
  }

}



/* =====================================================
   МОБИЛКА — ПЕРЕКЛЮЧЕНИЕ ВИДОВ
   ===================================================== */

.howto-mobile {
  display: none;
}

@media (max-width: 768px) {

  .howto-desktop {
    display: none !important;
  }

  .howto-mobile {
    display: block !important;
  }

}




/* =====================================================
   МОБИЛКА — АККОРДИОН "КАК КУПИТЬ?"
   ===================================================== */

@media (max-width: 768px) {

  /* заголовок страницы */
  .howto-mobile h2 {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin: 14px 0 12px;
    color: #222;
  }

  /* сам блок */
  .howto-mobile details {
    border: 1.5px solid #2f86b3;
    border-radius: 14px;
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
  }

  /* заголовок аккордиона */
  .howto-mobile summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 40px 14px 14px;
    font-size: 15px;
    font-weight: 600;
    color: #2f86b3;
    position: relative;
  }

  /* убираем стандартный треугольник */
  .howto-mobile summary::-webkit-details-marker {
    display: none;
  }

  /* плюсик */
  .howto-mobile summary::after {
    content: "+";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f36f21;
    color: #fff;
    font-size: 16px;
    text-align: center;
    line-height: 22px;
    font-weight: 700;
  }

  /* когда открыт */
  .howto-mobile details[open] summary::after {
    content: "−";
  }

  /* тело */
  .howto-mobile details > div {
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(47, 134, 179, 0.2);
    font-size: 14px;
    line-height: 1.5;
    color: #333;
  }

  /* текст */
  .howto-mobile p {
    margin: 10px 0;
  }

  .howto-mobile ul {
    margin: 10px 0 10px 18px;
  }

  .howto-mobile li {
    margin-bottom: 8px;
  }

  /* ссылки */
  .howto-mobile a {
    color: #f36f21;
    text-decoration: underline;
  }

  /* выделения */
  .howto-mobile .highlighted-text,
  .howto-mobile .highlighted-text-uppercase {
    color: #f36f21;
    font-weight: 700;
  }

}





/* =====================================================
   МОБИЛКА — СТРАНИЦА "ОПЛАТА И ДОСТАВКА"
   ===================================================== */

.paydeliv-mobile {
  display: none;
}

@media (max-width: 768px) {

  .paydeliv-desktop {
    display: none !important;
  }

  .paydeliv-mobile {
    display: block !important;
    padding: 0 12px;
  }

  .paydeliv-mobile-title {
    margin: 14px 0 12px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #222222;
    text-align: center;
  }

  .paydeliv-acc {
    margin-bottom: 10px;
    border: 1.5px solid #2f86b3;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
  }

  .paydeliv-acc summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    padding: 14px 44px 14px 14px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;
    color: #2f86b3;
    background: #ffffff;
  }

  .paydeliv-acc summary::-webkit-details-marker {
    display: none;
  }

  .paydeliv-acc summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f36f21;
    color: #ffffff;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    font-weight: 700;
  }

  .paydeliv-acc[open] summary::after {
    content: "−";
  }

  .paydeliv-acc-body {
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(47, 134, 179, 0.18);
    font-size: 14px;
    line-height: 1.55;
    color: #333333;
  }

  .paydeliv-acc-body p {
    margin: 10px 0;
  }

  .paydeliv-acc-body ul {
    margin: 10px 0 10px 18px;
    padding: 0;
  }

  .paydeliv-acc-body li {
    margin-bottom: 8px;
  }

  .paydeliv-acc-body a {
    color: #f36f21;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .paydeliv-acc-body .highlighted-text,
  .paydeliv-acc-body .highlighted-text-uppercase {
    color: #f36f21;
    font-weight: 700;
  }
}




/* =====================================================
   МОБИЛКА — СТРАНИЦА "О МАГАЗИНЕ"
   скрываем about-us и оформляем карточку контактов
   ===================================================== */

@media (max-width: 768px) {

  /* скрываем верхний блок "О магазине" только на мобиле */
  .about-us-block {
    display: none !important;
  }

  /* карточка контактов */
  .about-contacts-card {
    background: #ffffff;
    border: 1.5px solid #dbe7ef;
    border-radius: 18px;
    padding: 16px 14px;
    margin: 0 0 18px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  }

  /* заголовок карточки */
  .about-contacts-card > h2.inner-title {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    color: #222222;
  }

  /* список контактов */
  .about-contacts-card > ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* строка контактов */
  .about-contacts-card > ul > li {
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 10px 14px;
    font-size: 14px;
    line-height: 1.5;
    color: #333333;
    border-bottom: 1px solid rgba(47, 134, 179, 0.12);
  }

  .about-contacts-card > ul > li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  /* маркер в фирменном цвете */
  .about-contacts-card > ul > li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f36f21;
  }

  /* блок формы ниже карточки */
  .about-contact-form-block {
    margin-top: 0;
  }

}


/* =====================================================
   МОБИЛКА — СТРАНИЦА "О МАГАЗИНЕ"
   скрываем системный заголовок и убираем пустой зазор
   ===================================================== */

@media (max-width: 768px) {

  .about-us-block {
    display: none !important;
  }

  .item-page .page-header,
  .item-page .page-header h1,
  .item-page h1 {
    display: none !important;
    margin: 0 !important;
  }

  .about-contacts-card {
    margin-top: 0 !important;
  }

}

/* =====================================================
   МОБИЛКА — УСИЛЯЕМ КАРТОЧКУ "НАШИ КОНТАКТЫ"
   ===================================================== */

@media (max-width: 768px) {

  .about-contacts-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
    border: 2px solid #2f86b3;
    border-radius: 20px;
    padding: 18px 16px;
    box-shadow:
      0 10px 24px rgba(47, 134, 179, 0.12),
      0 2px 6px rgba(0, 0, 0, 0.04);
  }

  .about-contacts-card > h2.inner-title {
    margin: 0 0 16px;
    font-size: 20px;
}









  /* =====================================================
   КНОПКА "ЗАКАЗАТЬ ОБРАТНЫЙ ЗВОНОК" — ТОЛЬКО МОБИЛКА
   ===================================================== */
@media (max-width: 768px) {

  a.callback-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 12px 18px !important;
    margin: 12px auto 10px auto !important;
    min-height: 44px !important;

    background: linear-gradient(135deg, #f36f21, #ff8c42) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-align: center !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 6px 16px rgba(243, 111, 33, 0.28) !important;

    width: auto !important;
    max-width: 280px !important;
  }

  a.callback-link::before {
    content: "☎";
    display: inline-block;
    margin-right: 8px;
    font-size: 14px;
    line-height: 1;
  }

  a.callback-link:visited,
  a.callback-link:hover,
  a.callback-link:focus,
  a.callback-link:active {
    color: #ffffff !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #f36f21, #ff8c42) !important;
  }

  a.callback-link:active {
    transform: scale(0.98) !important;
  }
}




/* =====================================================
   МОБИЛКА — форма обратного звонка Convert Forms
   ===================================================== */
@media (max-width: 768px) {

  #cf_1.convertforms {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  #cf_1.convertforms > form#cf1 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  #cf_1.convertforms .cf-form-wrap.cf-col-16 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 16px 16px !important;
    background: #ffffff !important;
    border: 2px solid #f3d7c8 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12) !important;
    box-sizing: border-box !important;
  }

  #cf_1.convertforms .cf-fields {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cf_1.convertforms .cf-control-group {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
  }

  #cf_1.convertforms .cf-control-label {
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
  }

  #cf_1.convertforms .cf-label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #222222 !important;
    margin: 0 !important;
  }

  #cf_1.convertforms .cf-control-input {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cf_1.convertforms input.cf-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 2px solid #f36f21 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #222222 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  #cf_1.convertforms input.cf-input:focus {
    outline: none !important;
    border-color: #2694d1 !important;
    box-shadow: 0 0 0 3px rgba(38, 148, 209, 0.12) !important;
  }

  #cf_1.convertforms .cf-text-center {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #cf_1.convertforms button.cf-btn {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #2694d1, #38a7e2) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: 0 6px 16px rgba(38, 148, 209, 0.22) !important;
  }

  #cf_1.convertforms .cf-recaptcha-v3-text-badge {
    display: block !important;
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #777777 !important;
  }
}







 /* =====================================================
   МОБИЛКА — КОРЗИНА В HEADER-5
   только иконка + цифра
   ===================================================== */

.mobile-cart-orders {
  display: none !important;
}

@media (max-width: 767px) {
  .mobile-cart-orders {
    display: block !important;
    text-align: center !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
  }

  .mobile-cart-orders .airis-module__content,
  .mobile-cart-orders .vmCartModule {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .mobile-cart-orders .module-title,
  .mobile-cart-orders h1,
  .mobile-cart-orders h2,
  .mobile-cart-orders h3,
  .mobile-cart-orders h4,
  .mobile-cart-orders h5,
  .mobile-cart-orders h6,
  .mobile-cart-orders .vm_cart_products,
  .mobile-cart-orders .vm_cart_products_top,
  .mobile-cart-orders .vm_cart_products_bottom,
  .mobile-cart-orders .product_row,
  .mobile-cart-orders .product_name,
  .mobile-cart-orders .product_quantity,
  .mobile-cart-orders .product_price,
  .mobile-cart-orders .show_pricelist {
    display: none !important;
  }

  /* прячем текст, но оставляем в DOM */
  .mobile-cart-orders .total_products {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }

  .mobile-cart-orders a.details {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid #f36f21 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    overflow: visible !important;
  }

  .mobile-cart-orders a.details::before {
    content: "🛒";
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
    text-indent: 0 !important;
  }

  .mobile-cart-orders a.details::after {
    content: attr(data-count);
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #f36f21;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    box-sizing: border-box;
    display: none;
    text-indent: 0 !important;
  }

  .mobile-cart-orders a.details[data-count]::after {
    display: block;
  }

  /* когда открыто меню — прячем иконку корзины */
  body.mobile-menu-open .mobile-cart-orders {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (min-width: 768px) {
  .mobile-cart-orders {
    display: none !important;
  }
}




/* =====================================================
   МОБИЛКА — ЕДИНЫЙ ВИД ТОЧЕК КАРУСЕЛИ FLICKITY
   ===================================================== */
@media (max-width: 767px) {

  .flickity-page-dots {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;

    width: 100% !important;
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
  }

  .flickity-page-dots .dot {
    width: 8px !important;
    height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;
    background: #c9ddeb !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: none !important;
  }

  .flickity-page-dots .dot.is-selected {
    width: 18px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #f36f21 !important;
  }
}






/* =====================================================
   МОБИЛКА — ЛОГО ПО ЦЕНТРУ МЕЖДУ МЕНЮ И ЛК
   модуль с suffix: mobile-logo-module
   ===================================================== */
@media (max-width: 767px) {

  .airis-module-position-header-3 {
    position: relative !important;
  }

  .airis-module_suffix__mobile-logo-module,
  .mobile-logo-module {
    position: absolute !important;
    top: -42px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 20 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    pointer-events: none !important;
  }

  .airis-module_suffix__mobile-logo-module .airis-module__content,
  .mobile-logo-module .airis-module__content {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-logo {
    display: block !important;
    line-height: 0 !important;
  }

  .mobile-logo img {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }
}





/* =====================================================
   МОБИЛКА — ФИНАЛЬНЫЙ СДВИГ КНОПКИ МЕНЮ
   ===================================================== */
@media (max-width: 767px) {

  .airis-module-menu__toggler.airis-module-menu__toggler_menu-type_mainmenu.navbar-toggler {
    margin-left: 72px !important;
    margin-right: auto !important;
  }

}




  /* =====================================================
   МОБИЛКА — БЕЛАЯ ПОДЛОЖКА ПОД ЛОГО
   ===================================================== */
@media (max-width: 767px) {

  .mobile-logo img {
    background: #ffffff !important;
    padding: 6px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
  }

}





  /* =====================================================
   МОБИЛКА — ЛИЧНЫЙ КАБИНЕТ ТОЛЬКО ИКОНКА
   ровная центровка ключа в круге
   ===================================================== */
@media (max-width: 767px) {

  .vkusm-module-login__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: #ffffff !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
  }

  .vkusm-module-login__icon {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
    text-indent: 0 !important;
    transform: translate(-0.5px, -0.5px) !important;
  }

}


  /* =====================================================
   МОБИЛКА — ВОЗВРАТ КЛИКАБЕЛЬНОСТИ КНОПКИ МЕНЮ
   убираем перекрытие поверх header-2
   ===================================================== */
@media (max-width: 767px) {

  .airis-module-position-header-2 {
    position: relative !important;
    z-index: 30 !important;
  }

  .airis-module-position-header-2 .airis-module-menu__toggler {
    position: relative !important;
    z-index: 31 !important;
    pointer-events: auto !important;
  }

  .airis-module-position-header-3 {
    position: relative !important;
    z-index: 10 !important;
  }

  .airis-module_suffix__mobile-logo-module,
  .mobile-logo-module {
    pointer-events: none !important;
    z-index: 11 !important;
  }

}



  /* =====================================================
   МОБИЛКА — УЗКИЙ ХЕДЕР ПОСЛЕ ДОБАВЛЕНИЯ ЛОГО
   корзину не трогаем
   ===================================================== */
@media (max-width: 767px) {

  .airis-module-position-header-2 {
    padding: 8px 0 0 !important;
  }

  .airis-module-position-header-3 {
    margin-top: -46px !important;
    padding: 0 0 8px !important;
  }

  .header-forms__item:first-child {
    margin-top: 16px !important;
  }

}



  /* =====================================================
   МОБИЛКА — УБИРАЕМ ОРАНЖЕВУЮ РАМКУ У ПОИСКА
   ===================================================== */
@media (max-width: 767px) {

  .vm-catalog-search-module input,
  .vm-catalog-search-module input:focus,
  .vm-catalog-search-module input:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .vm-catalog-search-module .button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .search.vm-catalog-search-module {
    border: none !important;
    box-shadow: none !important;
  }

}






@media (max-width: 768px) {

  .custom-catalog-2x2__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .custom-item {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #2f86b3;
    text-decoration: none;
    height: 52px;
  }

  .custom-item.orange {
    border-color: #f36f21;
  }

  .custom-item .icon {
    width: 44px;
    height: 100%;
    background: #2f86b3;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .custom-item.orange .icon {
    background: #f36f21;
  }

  .custom-item .icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }

  .custom-item .text {
    flex: 1;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: #222;
  }
}








/* =====================================================
   МОБИЛКА — ВОЗВРАЩАЕМ ГЛАВНОЕ МЕНЮ В HEADER-1
   ПК НЕ ТРОГАЕМ
   ===================================================== */
@media (max-width: 767px) {

  .airis-module-position-header-1 .airis-module-menu_menu-type_mainmenu,
  .airis-module-position-header-1 .airis-module-menu__toggler,
  .airis-module-position-header-1 .navbar-toggler {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

}








  /* =====================================================
   МОБИЛКА — КАСТОМНЫЙ КАТАЛОГ 2x2
   скругления + крупные иконки
   ПК НЕ ТРОГАЕМ
   ===================================================== */
@media (max-width: 767px) {

  .custom-catalog-2x2__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .custom-catalog-2x2__grid .custom-item {
    display: flex !important;
    align-items: center !important;
    min-height: 64px !important;
    background: #fff !important;
    border: 2px solid #2f86b3 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .custom-catalog-2x2__grid .custom-item.orange {
    border-color: #f36f21 !important;
  }

  .custom-catalog-2x2__grid .custom-item .icon {
    width: 72px !important;
    min-width: 72px !important;
    min-height: 64px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #2f86b3 !important;
    box-sizing: border-box !important;
    padding: 10px !important;
    border-radius: 10px 0 0 10px !important;
  }

  .custom-catalog-2x2__grid .custom-item.orange .icon {
    background: #f36f21 !important;
  }

  .custom-catalog-2x2__grid .custom-item .icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  .custom-catalog-2x2__grid .custom-item .text {
    flex: 1 !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #222 !important;
    line-height: 1.2 !important;
    border-radius: 0 10px 10px 0 !important;
  }

  /* докручиваем размер отдельных иконок */
  .custom-catalog-2x2__grid .custom-item:nth-child(1) .icon img {
    transform: scale(1.4) !important;
  }

  .custom-catalog-2x2__grid .custom-item:nth-child(2) .icon img {
    transform: scale(1.7) !important;
  }

  .custom-catalog-2x2__grid .custom-item:nth-child(4) .icon img {
    transform: scale(1.3) !important;
  }
}

  @media (max-width: 767px) {
  h2.category-page-title.vm-page-title {
    display: none !important;
  }
}







  /* =====================================================
   МОБИЛКА — ОТДЕЛЬНАЯ КНОПКА ЛК В ВЕРХНЕЙ СТРОКЕ
   скрываем старый ЛК из блока поиск+ЛК
   ПК НЕ ТРОГАЕМ
   ===================================================== */
@media (max-width: 767px) {

  /* новый отдельный ЛК */
  .airis-module-position-header-1 {
    position: relative !important;
  }

  .mobile-lk-btn {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    z-index: 100 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    background: #ffffff !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }

  .mobile-lk-btn .fa-key {
    font-size: 15px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
  }

  /* старый ЛК внутри составного модуля скрываем только на мобиле */
  .airis-module-position-header-4 .vkusm-module-login,
  .airis-module-position-header-4 .vkusm-module-login__link,
  .airis-module-position-header-4 .vkusm-module-login_sublayout_logout {
    display: none !important;
  }
}



  /* =====================================================
   МОБИЛКА — УБРАТЬ БЕЛУЮ ПОЛОСУ И ОФОРМИТЬ КНОПКУ ЛК
   ПК НЕ ТРОГАЕМ
   ===================================================== */
@media (max-width: 767px) {

  /* убираем белую полосу сверху */
  .airis-module-position-header-1,
  .airis-module-position-header-1 .airis-module-container,
  .airis-module-position-header-1 .airis-module,
  .airis-module-position-header-1 .airis-module__content {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }

  /* отдельная кнопка ЛК */
  .mobile-lk-btn {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    z-index: 100 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    background: #ffffff !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
  }

  /* если span с иконкой есть */
  .mobile-lk-btn .fa-key,
  .mobile-lk-btn .fas {
    font-size: 15px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
  }

  /* если иконка не рисуется — рисуем через псевдоэлемент */
  .mobile-lk-btn::before {
    content: "\f084";
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
  }

  /* старый ЛК в блоке поиска скрыт только на мобиле */
  .airis-module-position-header-4 .vkusm-module-login,
  .airis-module-position-header-4 .vkusm-module-login__link,
  .airis-module-position-header-4 .vkusm-module-login_sublayout_logout {
    display: none !important;
  }
}





  /* =====================================================
   МОБИЛКА — ОТДЕЛЬНАЯ КНОПКА ЛК В ВЕРХНЕЙ СТРОКЕ
   старый ЛК из header-4 скрываем
   ===================================================== */
@media (max-width: 767px) {

  /* верхняя зона — база */
  .airis-module-position-header-1 {
    position: relative !important;
  }

  /* новый ЛК */
  .mobile-lk-btn {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    z-index: 1000 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    background: #ffffff !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
  }

  /* рисуем иконку ключа */
  .mobile-lk-btn::before {
    content: "\f084";
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #f36f21 !important;
  }

  /* старый ЛК в блоке поиска скрываем только на мобиле */
  .airis-module-position-header-4 .vkusm-module-login,
  .airis-module-position-header-4 .vkusm-module-login__link,
  .airis-module-position-header-4 .vkusm-module-login_sublayout_login,
  .airis-module-position-header-4 .vkusm-module-login_sublayout_logout {
    display: none !important;
  }
}








/* =====================================================
   МОБИЛКА — КОРЗИНА: ФИНАЛЬНЫЙ UI КОЛИЧЕСТВА
   ===================================================== */
@media (max-width: 767px) {

  .vm-cart-item-quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  .vm-cart-item-quantity .mobile-qty-controls {
    display: contents !important;
  }

  .vm-cart-item-quantity .mobile-qty-btn,
  .vm-cart-item-quantity .vm2-add_quantity_cart,
  .vm-cart-item-quantity .vm2-remove_from_cart {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    border: none !important;
  }

  .vm-cart-item-quantity .quantity-input {
    width: 40px !important;
    height: 38px !important;
    text-align: center !important;
    border-radius: 9px !important;
    border: 1px solid #d7e7f2 !important;
    background: #fff !important;
  }

  /* цвета */
  .mobile-qty-minus,
  .vm2-remove_from_cart {
    background: #f36f21 !important;
    color: #fff !important;
  }

  .mobile-qty-plus,
  .vm2-add_quantity_cart {
    background: #2f86b3 !important;
    color: #fff !important;
  }

  /* знаки */
  .mobile-qty-btn {
    font-size: 0 !important;
  }

  .mobile-qty-minus::before {
    content: "−";
  }

  .mobile-qty-plus::before {
    content: "+";
  }

  .mobile-qty-btn::before {
    font-size: 22px !important;
    line-height: 38px !important;
    font-weight: 700 !important;
  }

  /* ФИНАЛЬНЫЙ ДОЖИМ ПО ВЫСОТЕ */
  .mobile-qty-btn {
    transform: translateY(-3px) !important;
  }

  .quantity-input {
    transform: translateY(-1px) !important;
  }

}





  /* =====================================================
   МОБИЛКА — СКРЫТЫЙ НАТИВНЫЙ КАЛЕНДАРЬ ДОСТАВКИ
   ===================================================== */
@media (max-width: 767px) {

  .mobile-shipping-date-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

}



/* =====================================================
   МОБИЛКА — СОПД: НОРМАЛЬНЫЙ ВИД ЧЕКБОКСОВ
   ===================================================== */
@media (max-width: 767px) {

  input[type="checkbox"].form-check-input[name^="test_sopd_"],
  input[type="checkbox"].form-check-input[name^="sopd_"] {
    display: inline-block !important;

    width: 18px !important;
    height: 18px !important;

    min-width: 18px !important;
    max-width: 18px !important;

    min-height: 18px !important;
    max-height: 18px !important;

    padding: 0 !important;
    margin: 6px 0 0 0 !important;

    flex: 0 0 18px !important;

    appearance: auto !important;
    -webkit-appearance: checkbox !important;

    vertical-align: middle !important;
  }
}
 