/* —— Layout + каталог —— */
.site-main {
	display: grid;
	grid-template-columns: 260px 1fr;
	margin-top: var(--site-header-h, 48px);
	min-height: calc(100vh - var(--site-header-h, 48px));
}
.site-main.sidebar-hidden { grid-template-columns: 1fr; }
.site-main.sidebar-hidden .sidebar { display: none; }
.sidebar {
	background: var(--site-sidebar-bg, var(--site-header-bg, #e1d6d8));
	color: var(--site-sidebar-fg, var(--site-header-fg, var(--site-fg, #000b5a)));
	position: sticky;
	top: var(--site-header-h, 48px);
	height: calc(100vh - var(--site-header-h, 48px));
	overflow-y: auto;
	overflow-x: hidden;
	box-sizing: border-box;
	text-indent: 0;
	box-shadow: inset -1px 0 0 rgba(15, 23, 42, 0.06);
}
.sidebar * { text-indent: 0; }
.catalog-item {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	cursor: pointer;
	border-left: 5px solid transparent;
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
	transition: background 0.16s ease, border-left-width 0.16s ease;
}
.catalog-item.is-active {
	background: rgba(15, 23, 42, 0.1);
}
.catalog-item.is-active .item-name { font-weight: 700; }
.catalog-item:hover { background: rgba(15, 23, 42, 0.08); }
.catalog-item.is-cont { border-top: none; }
.catalog-item.is-cont .item-name { padding-top: 1px; padding-bottom: 5px; font-size: 0.84rem; opacity: 0.92; }
.item-name {
	display: block;
	box-sizing: border-box;
	padding: 6px 10px 6px 10px;
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.2;
	text-align: left;
	text-indent: 0 !important;
	letter-spacing: 0;
}
.item-name.catalog-name-row {
	display: flex;
	align-items: center;
	gap: 6px;
}
.item-name .catalog-name-edit {
	flex: 1 1 auto;
	min-width: 0;
}
.item-name .lang-node {
	margin: 0;
	padding: 0;
	text-indent: 0 !important;
	text-align: left;
}
.catalog-item.has-sub > .item-name::after {
	content: "▸";
	float: right;
	opacity: 0.45;
	font-size: 0.75em;
	margin-left: 4px;
}
.catalog-item.has-sub.is-name-editing > .item-name::after {
	display: none;
}
.catalog-name-row [contenteditable="true"] {
	outline: 1px dashed rgba(15, 23, 42, 0.35);
	outline-offset: 1px;
	border-radius: 3px;
	cursor: text;
	background: rgba(255, 255, 255, 0.12);
}
.catalog-name-save {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	padding: 0;
	margin: 0;
	border: 1px solid rgba(15, 23, 42, 0.22);
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.55);
	color: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	opacity: 0.92;
}
.catalog-name-save:hover { opacity: 1; }
.catalog-name-save.is-ok {
	border-color: rgba(22, 163, 74, 0.55);
	background: rgba(34, 197, 94, 0.25);
}
.catalog-name-save.is-err {
	border-color: rgba(185, 28, 28, 0.55);
	background: rgba(239, 68, 68, 0.22);
}
html.theme-preset-new2026 .catalog-name-save {
	background: rgba(0, 0, 0, 0.2);
	border-color: rgba(255, 255, 255, 0.35);
	color: #e8f6f3;
}
html.theme-preset-new2026 .catalog-name-row [contenteditable="true"] {
	outline-color: rgba(255, 255, 255, 0.45);
	background: rgba(0, 0, 0, 0.18);
}
.catalog-flyout .catalog-sub__link.catalog-name-row {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px 7px 14px;
}
.catalog-flyout .catalog-sub__href {
	flex: 1 1 auto;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}
.catalog-flyout .catalog-sub__link .catalog-name-edit {
	flex: 1 1 auto;
	min-width: 0;
}
.catalog-flyout {
	position: fixed;
	z-index: 40;
	min-width: 200px;
	max-width: min(320px, 70vw);
	overflow-y: auto;
	box-sizing: border-box;
	padding: 6px 0;
	border-radius: 0 10px 10px 0;
	background: var(--site-sidebar-bg, var(--site-header-bg, #e8d4d4));
	color: var(--site-sidebar-fg, var(--site-fg, #000b5a));
	box-shadow: 6px 8px 24px rgba(15, 23, 42, 0.18);
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-left: none;
}
.catalog-flyout[hidden] { display: none !important; }
.catalog-flyout .catalog-sub__link {
	display: block;
	padding: 7px 14px;
	color: inherit;
	text-decoration: none;
	font-size: 0.86rem;
	line-height: 1.25;
	white-space: normal;
}
.catalog-flyout .catalog-sub__link:hover {
	background: rgba(15, 23, 42, 0.1);
}
html.theme-preset-new2026 .catalog-flyout {
	background: #16a085;
	color: #e8f6f3;
	border-color: rgba(255, 255, 255, 0.12);
}
html.theme-preset-new2026 .catalog-flyout .catalog-sub__link:hover {
	background: rgba(0, 0, 0, 0.16);
}
.catalog-downloads {
	margin: 8px 8px 12px;
	padding: 6px 10px;
	font-size: 12px;
	box-sizing: border-box;
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.07);
	border: 1px solid rgba(15, 23, 42, 0.08);
	line-height: 1.35;
}
.catalog-downloads__sum {
	cursor: pointer;
	list-style: none;
	font: inherit;
	font-weight: 600;
	color: inherit;
	user-select: none;
}
.catalog-downloads__sum::-webkit-details-marker { display: none; }
.catalog-downloads__sum::before {
	content: "▸ ";
	display: inline-block;
	width: 1em;
}
.catalog-downloads[open] > .catalog-downloads__sum::before { content: "▾ "; }
.catalog-downloads[open] > .catalog-downloads__sum { margin-bottom: 0.35rem; }
.catalog-downloads ul { margin: 0; padding-left: 1.15em; }
.catalog-downloads a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(15, 23, 42, 0.25);
}
.catalog-downloads a:hover { border-bottom-color: currentColor; }
.site-content { margin: 12px 16px; overflow: hidden; min-width: 0; }

/* Google Translate: скрыть верхнюю панель и сброс сдвига body */
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
.goog-te-banner,
.skiptranslate:not(#google_translate_element),
body > .skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
#goog-gt-tt,
.goog-te-balloon-frame,
#google_translate_element {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
}
body.translated-ltr,
body.translated-rtl,
body {
	top: 0 !important;
	position: static !important;
}
html {
	top: 0 !important;
}
.goog-text-highlight {
	background: none !important;
	box-shadow: none !important;
}

#catalog-overlay {
	display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.42); z-index: 15;
}
#catalog-overlay.active { display: block; }

html.theme-preset-new2026 body {
	background: var(--main-grad, linear-gradient(135deg, #ff9a9e, #00f2fe)) fixed !important;
}
html.theme-preset-new2026 .site-top-bar,
html.theme-preset-new2026 .sidebar {
	background: #16a085 !important;
	color: #e8f6f3 !important;
}
html.theme-preset-new2026 .header-catalog { background: rgba(0, 0, 0, 0.14); }
html.theme-preset-new2026 .header-catalog:hover,
html.theme-preset-new2026 .header-catalog:focus-visible { background: rgba(0, 0, 0, 0.22); }
html.theme-preset-new2026 .header-nav__link:hover,
html.theme-preset-new2026 .header-nav__link:focus-visible,
html.theme-preset-new2026 .header-auth:hover { background: rgba(255, 255, 255, 0.12); }
html.theme-preset-new2026 .header-basket {
	background: rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
html.theme-preset-new2026 .header-basket:hover {
	background: rgba(255, 255, 255, 0.3);
}
html.theme-preset-new2026 .header-prices { background: rgba(0, 0, 0, 0.16); }
html.theme-preset-new2026 .header-auth__exit { background: rgba(255, 255, 255, 0.14); }
html.theme-preset-new2026 .header-auth__exit:hover { background: rgba(185, 28, 28, 0.35); }
html.theme-preset-new2026 .custom-options { background: #16a085; color: #e8f6f3; }
html.theme-preset-new2026 .catalog-item { border-bottom-color: rgba(255, 255, 255, 0.1); }
html.theme-preset-new2026 .catalog-item:hover,
html.theme-preset-new2026 .catalog-item.is-active { background: rgba(0, 0, 0, 0.16); }
html.theme-preset-new2026 .catalog-downloads {
	background: rgba(0, 0, 0, 0.16);
	border-color: rgba(255, 255, 255, 0.1);
}
html.theme-preset-new2026 .catalog-downloads a { border-bottom-color: rgba(255, 255, 255, 0.35); }
html.theme-preset-new2026 .feature-card,
html.theme-preset-new2026 .contact-card {
	background: rgba(0, 0, 0, 0.28);
	color: #e0f2f1;
	border-color: rgba(255, 255, 255, 0.12);
}
html.theme-preset-new2026 .feature-card strong,
html.theme-preset-new2026 .contact-card strong { color: #1abc9c; }
html.theme-preset-new2026 .note-box { color: #fff; background: rgba(26, 188, 156, 0.25); }
html.theme-preset-new2026 .note-box .link,
html.theme-preset-new2026 .note-box a,
html.theme-preset-new2026 .contacts-page a { color: #7ee8d4; }

@media (max-width: 1480px) {
	.header-basket { max-width: none; }
}
@media (max-width: 1360px) {
	.other-elements { gap: 10px; }
	.header-cluster--nav { gap: 2px; }
	.header-nav { gap: 2px; }
	.header-nav__link { padding: 6px 8px; font-size: 14px; }
	.header-nav__search { max-width: 190px; }
	.header-cluster--tools { gap: 10px; }
}
@media (max-width: 1280px) {
	.header-nav .lang-txt { display: none; }
	.header-cluster--nav {
		flex: 1 1 auto;
		justify-content: space-evenly;
		gap: 0;
		overflow: visible;
	}
	.header-nav {
		flex: 4 1 auto;
		justify-content: space-evenly;
		gap: 0;
		overflow: visible;
	}
	.header-nav__link {
		padding: 6px 4px;
		gap: 0;
		flex: 1 1 0;
		justify-content: center;
	}
	.header-nav__link::before {
		font-size: 26px;
		opacity: 1;
		margin: 0;
	}
	.header-faq::before { content: "?"; }
	.header-nav__search { max-width: 160px; min-width: 110px; flex: 0 1 160px; }
	.header-auth__label { display: none; }
	.header-auth::before { font-size: 20px; }
}
@media (max-width: 1200px) {
	.other-elements { gap: 8px; }
	.header-nav__link::before { font-size: 28px; }
	.header-nav__search { max-width: 140px; }
}
@media (max-width: 1040px) {
	.header-nav__search { max-width: 140px; min-width: 110px; }
}
@media (max-width: 920px) {
	/* Иконка корзины уже ясна — убираем подпись, сумму/кол-во оставляем */
	.header-basket .basket-name { display: none; }
	.header-auth--in { max-width: 120px; }
}

@media (max-width: 768px) {
	.div-desktop { display: none; }
	.div-mobile { display: flex; flex-direction: column; gap: 2px; width: 100%; box-sizing: border-box; }
	.mobile-row-top {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		padding: 6px 6px 2px;
		gap: 6px;
		font-size: 12px;
		width: 100%;
		box-sizing: border-box;
		min-width: 0;
	}
	.mobile-row-top > .header-home {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		min-width: 40px;
		padding: 0;
		margin: 0;
		gap: 0;
		border-radius: 9px;
		background: rgba(15, 23, 42, 0.06);
		box-sizing: border-box;
		text-decoration: none;
		color: inherit;
	}
	.mobile-row-top > .header-home .lang-txt { display: none !important; }
	.mobile-row-top > .header-home::before {
		content: "⌂";
		font-size: 28px;
		font-weight: 700;
		line-height: 1;
		opacity: 1;
		margin: 0;
		transform: translateY(-1px);
	}
	.mobile-row-top > .header-home:hover,
	.mobile-row-top > .header-home:focus-visible {
		background: rgba(15, 23, 42, 0.14);
		outline: none;
	}
	.mobile-nav-menu {
		position: relative;
		flex: 0 0 auto;
	}
	.mobile-nav-menu__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 9px;
		background: rgba(15, 23, 42, 0.06);
		color: inherit;
		cursor: pointer;
	}
	.mobile-nav-menu__ico {
		display: block;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: currentColor;
		box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
		opacity: 0.9;
	}
	.mobile-nav-menu.is-open .mobile-nav-menu__btn {
		background: rgba(15, 23, 42, 0.14);
	}
	.mobile-nav-menu__drop {
		position: absolute;
		top: calc(100% + 4px);
		left: 0;
		z-index: 40;
		display: none;
		flex-direction: column;
		min-width: 200px;
		padding: 6px;
		border-radius: 12px;
		background: var(--site-header-bg, #fff);
		color: var(--site-header-fg, #000b5a);
		box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
		border: 1px solid rgba(15, 23, 42, 0.1);
	}
	.mobile-nav-menu.is-open .mobile-nav-menu__drop {
		display: flex;
	}
	.mobile-nav-menu__drop[hidden] { display: none !important; }
	.mobile-nav-menu__drop .header-nav__link {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		padding: 10px 12px;
		border-radius: 9px;
		flex: none;
		width: 100%;
		box-sizing: border-box;
		background: transparent;
		white-space: nowrap;
	}
	.mobile-nav-menu__drop .header-nav__link:hover,
	.mobile-nav-menu__drop .header-nav__link:focus-visible {
		background: rgba(15, 23, 42, 0.08);
	}
	.mobile-nav-menu__drop .header-nav__link::before {
		font-size: 18px;
		opacity: 0.95;
		margin: 0;
		flex-shrink: 0;
	}
	.mobile-nav-menu__drop .header-faq::before {
		content: "?";
		font-size: 18px;
		opacity: 0.95;
		margin: 0;
		flex-shrink: 0;
	}
	.mobile-nav-menu__drop .lang-txt { display: inline !important; }

	.mobile-row-top .header-auth-cluster {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		flex: 0 0 auto;
		min-width: 0;
	}
	.mobile-row-top .header-auth-cluster > .header-auth {
		width: 40px;
		height: 40px;
		max-width: 40px;
	}
	.mobile-row-top .header-auth,
	.mobile-row-top .header-auth-row {
		gap: 0;
		padding: 0;
		border: 0;
		border-radius: 9px;
		background: rgba(15, 23, 42, 0.06);
		box-shadow: none;
		flex: 0 0 40px;
		width: 40px;
		min-width: 40px;
		max-width: 40px;
		margin: 0;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		overflow: hidden;
		cursor: pointer;
		color: inherit;
		font: inherit;
		-webkit-appearance: none;
		appearance: none;
	}
	.mobile-row-top .header-auth-row .header-price-lab {
		display: none !important;
	}
	.mobile-row-top .header-auth {
		display: inline-flex;
		height: 40px;
	}
	.mobile-row-top .header-auth-row {
		background: transparent;
		height: 40px;
	}
	.mobile-row-top .header-auth-row .header-auth {
		width: 100%;
		height: 100%;
	}
	.mobile-row-top .header-auth::before {
		font-size: 20px;
		opacity: 1;
		margin: 0;
	}
	.mobile-row-top .header-auth__exit {
		display: inline-flex !important;
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		min-width: 40px;
		max-width: 40px;
		padding: 0;
		margin: 0;
		border-radius: 9px;
		background: rgba(15, 23, 42, 0.06);
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
	}
	.mobile-row-top .header-auth__exit::before {
		font-size: 22px;
		line-height: 1;
	}
	.mobile-row-top .header-auth__exit:hover {
		background: rgba(185, 28, 28, 0.22);
		color: #b91c1c;
	}
	.mobile-row-top .lang-txt,
	.mobile-row-top .header-auth__label,
	.mobile-row-top .header-auth__name,
	.mobile-row-top .header-auth__txt > .header-auth__user,
	.mobile-row-top .header-auth__prices {
		display: none !important;
	}
	.mobile-row-top .header-basket .lang-txt,
	.mobile-row-top .mobile-nav-menu__drop .lang-txt {
		display: inline !important;
	}
	.mobile-row-top .header-auth--in { max-width: none; font-size: 12px; }

	.mobile-row-top .header-basket {
		display: inline-flex;
		align-items: center;
		align-self: center;
		gap: 6px;
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		padding: 0 8px !important;
		margin: 0 !important;
		border-radius: 9px;
		background: rgba(13, 148, 136, 0.16);
		box-shadow: inset 0 0 0 1px rgba(13, 148, 136, 0.35);
		justify-content: flex-start;
		overflow: hidden;
		transform: none !important;
		white-space: nowrap;
		box-sizing: border-box;
		line-height: 1;
	}
	.mobile-row-top .header-basket::before {
		font-size: 16px;
		line-height: 1;
		opacity: 1;
		margin: 0;
		flex-shrink: 0;
		width: 1.1em;
		text-align: center;
	}
	.mobile-row-top .header-basket a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 1px;
		flex: 1 1 auto;
		min-width: 0;
		max-width: 100%;
		height: 100%;
		max-height: 100%;
		overflow: hidden;
		line-height: 1.05;
		padding: 0;
		margin: 0;
	}
	.mobile-row-top .header-basket .basket-name {
		display: block !important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-weight: 700;
		font-size: 12px;
		line-height: 1.05;
		margin: 0;
		padding: 0;
	}
	.mobile-row-top .header-basket .basket-meta {
		display: block !important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 10px;
		font-weight: 600;
		opacity: 0.95;
		line-height: 1.05;
		margin: 0;
		padding: 0;
	}

	.mobile-row-bottom {
		display: flex;
		align-items: center;
		gap: 6px;
		padding: 4px 6px 8px;
		width: 100%;
		box-sizing: border-box;
		min-width: 0;
	}
	.mobile-row-bottom .header-catalog {
		flex: 0 0 40px;
		width: 40px;
		min-width: 40px;
		max-width: 40px;
		height: 40px;
		min-height: 40px;
		max-height: 40px;
		padding: 0;
		border-radius: 10px;
		font-size: 12px;
		gap: 0;
		box-sizing: border-box;
		justify-content: center;
		background: rgba(15, 23, 42, 0.06);
	}
	.mobile-row-bottom .header-catalog .lang-txt { display: none; }
	.mobile-row-bottom .header-catalog__ico {
		width: 18px;
		height: 12px;
		background:
			linear-gradient(currentColor, currentColor) 0 0 / 100% 2.5px no-repeat,
			linear-gradient(currentColor, currentColor) 0 5px / 100% 2.5px no-repeat,
			linear-gradient(currentColor, currentColor) 0 10px / 100% 2.5px no-repeat;
	}
	.mobile-row-bottom .search-wrapper {
		flex: 1 1 auto;
		min-width: 0;
		height: 40px;
		min-height: 40px;
		max-height: 40px;
		padding: 3px;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.mobile-row-bottom .search-input {
		height: 100%;
		margin-left: 10px;
		font-size: 14px;
	}
	.mobile-row-bottom .search-btn {
		height: 100%;
		min-width: 34px;
		border-radius: 8px;
		padding: 0 8px;
		font-size: 14px;
	}
	.mobile-row-bottom .custom-select-wrapper {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		min-width: 40px;
		max-width: 40px;
	}
	.mobile-row-bottom .custom-select {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		min-height: 40px;
		max-height: 40px;
		padding: 0;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.mobile-row-bottom .custom-select__trigger {
		justify-content: center;
		gap: 0;
	}
	.mobile-row-bottom .custom-select__trigger img,
	.mobile-row-bottom .current-lang-img { width: 30px; height: 20px; }
	.site-main {
		display: block;
		margin-top: calc(var(--site-header-h, 150px) + 6px);
		min-height: calc(100vh - var(--site-header-h, 150px) - 6px);
	}
	.sidebar {
		position: fixed;
		top: var(--site-header-h, 150px);
		left: 0;
		width: min(280px, 86vw);
		height: calc(100vh - var(--site-header-h, 150px));
		transform: translateX(-105%);
		transition: transform 0.28s ease;
		z-index: 18;
		box-shadow: 8px 0 28px rgba(15, 23, 42, 0.2);
	}
	.sidebar.active { transform: translateX(0); }
	.site-main.sidebar-hidden .sidebar { display: block; }
	.item-name {
		padding: 5px 10px;
		font-size: 0.82rem;
		line-height: 1.18;
	}
	.catalog-item.is-cont .item-name { padding-top: 0; padding-bottom: 4px; font-size: 0.8rem; }
	.catalog-downloads { margin: 6px 6px 10px; padding: 6px 8px; font-size: 11.5px; }
	.features-grid, .contacts-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.contact-media img { max-width: 100%; height: auto; max-height: none; }
	.site-content { margin: 10px 10px; }
}

