/* Новая навигация: левая панель #stmap-sb + верхняя панель #stmap-tb
 * (все страницы, кроме главной; body.stmap-nav-on). */

:root { --snv-w: 284px; --snv-mini: 76px; --stb-h: 68px; --snv-top: var(--wp-admin--admin-bar--height, 0px); }
html.stmap-nav-mini { --snv-w: 76px; }
@media (max-width: 1199px) { :root, html.stmap-nav-mini { --snv-w: 76px; } }
@media (max-width: 767px) { :root, html.stmap-nav-mini { --snv-w: 0px; --stb-h: 60px; } }

body.stmap-nav-on { padding-left: var(--snv-w) !important; transition: padding-left .25s ease; }
/* Elementor «растягивает» секции на всю ширину окна через inline left/width —
 * с левой панелью они уезжают под неё; растягиваем только на ширину контента. */
body.stmap-nav-on .elementor-section.elementor-section-stretched { left: 0 !important; width: 100% !important; }
body.stmap-nav-on #wrapper-navbar,
body.stmap-nav-on .uicore-navigation-wrapper,
body.stmap-nav-on .stmap-task-mbar { display: none !important; }
/* Плашка-поиск каталога (UiCore page title «Поиск учебных материалов») дублирует поиск в верхней панели */
body.stmap-nav-on #uicore-tb-pagetitle:has(.elementor-17597),
body.stmap-nav-on .elementor-17597 { display: none !important; }

/* ---------- боковая панель ---------- */
#stmap-sb {
	--p: #6787FE; --s: #465EC2; --a: #FD6D75; --h: #24304A; --b: #4A6375; --line: #E3E8F4;
	position: fixed; z-index: 1000; left: 0; top: var(--snv-top); bottom: 0; width: var(--snv-w);
	display: flex; flex-direction: column; background: #F6F8FE; border-right: 1px solid var(--line);
	box-shadow: 4px 0 24px rgba(36, 48, 74, .04);
	font-family: 'Open Sans', sans-serif; transition: width .25s ease, transform .25s ease; overflow: hidden;
}
#stmap-sb *, #stmap-tb *, .snf *, .snp * { box-sizing: border-box; }
#stmap-sb .snv-ico { width: 20px; height: 20px; flex: none; }
#stmap-sb a, #stmap-sb button { text-decoration: none; font-family: inherit; }
#stmap-sb ul { list-style: none; margin: 0; padding: 0; }

#stmap-sb .snv-head { display: flex; align-items: center; gap: 8px; height: var(--stb-h); padding: 0 12px 0 18px; flex: none; border-bottom: 1px solid var(--line); }
#stmap-sb .snv-brand { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; color: var(--h); }
#stmap-sb .snv-brand img { width: 36px; height: 36px; flex: none; }
#stmap-sb .snv-brand .snv-label { font: 800 19px/1 'Nunito', sans-serif; letter-spacing: -.01em; white-space: nowrap; }
#stmap-sb .snv-collapse, #stmap-sb .snv-close {
	display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: none; padding: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 10px !important; background: transparent !important; color: #8A97AE !important; cursor: pointer; box-shadow: none !important; min-height: 0 !important;
}
#stmap-sb .snv-collapse:hover, #stmap-sb .snv-close:hover { background: #fff !important; color: var(--s) !important; }
#stmap-sb .snv-collapse .snv-ico { transition: transform .25s; }
#stmap-sb .snv-close { display: none; }

#stmap-sb .snv-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 14px 12px; scrollbar-width: thin; scrollbar-color: #D5DCEC transparent; }
#stmap-sb .snv-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
#stmap-sb .snv-link {
	position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 0 12px !important; margin: 0 !important;
	border: 0 !important; border-radius: 12px !important; background: transparent !important; box-shadow: none !important; cursor: pointer; text-align: left;
	color: #3A4660 !important; font: 600 15px/1.25 'Nunito', sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
	transition: background .15s, color .15s;
}
#stmap-sb .snv-link .snv-ico { color: #7D8BA6; transition: color .15s; }
#stmap-sb .snv-link:hover { background: #fff !important; color: var(--s) !important; }
#stmap-sb .snv-link:hover .snv-ico { color: var(--p); }
#stmap-sb .snv-link.is-active { background: #fff !important; color: var(--s) !important; box-shadow: 0 4px 14px rgba(70, 94, 194, .1) !important; }
#stmap-sb .snv-link.is-active .snv-ico { color: var(--p); }
#stmap-sb .snv-link.is-active::before { content: ""; position: absolute; left: -12px; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--p); }
#stmap-sb .snv-label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#stmap-sb .snv-chev { display: flex; color: #9AA7BF; transition: transform .2s; }
#stmap-sb .snv-chev .snv-ico { width: 16px; height: 16px; }
#stmap-sb .snv-item--group.is-open > .snv-toggle .snv-chev { transform: rotate(180deg); }
#stmap-sb .snv-item--group.has-active > .snv-toggle { color: var(--s) !important; }
#stmap-sb .snv-item--group.has-active > .snv-toggle .snv-ico { color: var(--p); }

#stmap-sb .snv-sub { display: none; margin: 2px 0 6px 21px !important; padding: 2px 0 2px 10px !important; border-left: 1.5px solid var(--line); }
#stmap-sb .snv-item--group.is-open > .snv-sub { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; }
#stmap-sb .snv-link--sub { min-height: 36px; gap: 10px; padding: 6px 10px !important; font: 600 14px/1.25 'Open Sans', sans-serif !important; color: #55627C !important; }
#stmap-sb .snv-link--sub .snv-ico { width: 17px; height: 17px; }
#stmap-sb .snv-link--sub .snv-label { white-space: normal; line-height: 1.25; }
#stmap-sb .snv-link--sub.is-active::before { left: -11.5px; top: 8px; bottom: 8px; }
#stmap-sb .snv-count { font: 600 11.5px/1 'Rubik', sans-serif; color: #8A97AE; padding: 4px 7px; border-radius: 999px; background: #EEF1FA; }

#stmap-sb .snv-request {
	display: flex; align-items: center; gap: 12px; min-height: 46px; margin: 12px 0; padding: 0 14px; border-radius: 12px;
	background: #FFF0F1; border: 1px solid #FFD6D9; color: #E04B55; font: 700 15px/1.2 'Nunito', sans-serif; transition: background .15s, color .15s, box-shadow .15s;
}
#stmap-sb .snv-request:hover, #stmap-sb .snv-request.is-active { background: var(--a); border-color: var(--a); color: #fff; box-shadow: 0 8px 20px rgba(253, 109, 117, .3); }
#stmap-sb .snv-list--account { padding-top: 12px; border-top: 1px solid var(--line); }

#stmap-sb .snv-help {
	display: flex; align-items: center; gap: 12px; flex: none; margin: 0 12px 14px; padding: 12px 14px; border-radius: 14px;
	background: #fff; border: 1px solid var(--line); color: var(--h);
}
#stmap-sb .snv-help .snv-ico { width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: #EAEFFB; color: var(--p); }
#stmap-sb .snv-help b { display: block; font: 700 14px/1.2 'Nunito', sans-serif; }
#stmap-sb .snv-help small { display: block; margin-top: 2px; font-size: 12.5px; color: #7D8BA6; }
#stmap-sb .snv-help:hover { border-color: var(--p); }

/* свёрнутый режим: только иконки (десктоп ≥1200, по кнопке) */
@media (min-width: 1200px) {
	html.stmap-nav-mini #stmap-sb .snv-label,
	html.stmap-nav-mini #stmap-sb .snv-chev,
	html.stmap-nav-mini #stmap-sb .snv-count,
	html.stmap-nav-mini #stmap-sb .snv-sub { display: none !important; }
	html.stmap-nav-mini #stmap-sb .snv-head { padding: 0; flex-direction: column; justify-content: center; gap: 0; }
	html.stmap-nav-mini #stmap-sb .snv-brand { flex: none; }
	html.stmap-nav-mini #stmap-sb .snv-brand img { width: 32px; height: 32px; }
	html.stmap-nav-mini #stmap-sb .snv-collapse { position: absolute; top: calc(var(--stb-h) + 6px); left: 50%; margin-left: -17px !important; }
	html.stmap-nav-mini #stmap-sb .snv-collapse .snv-ico { transform: rotate(180deg); }
	html.stmap-nav-mini #stmap-sb .snv-scroll { padding-top: 52px; }
	html.stmap-nav-mini #stmap-sb .snv-link, html.stmap-nav-mini #stmap-sb .snv-request { justify-content: center; padding: 0 !important; }
	html.stmap-nav-mini #stmap-sb .snv-link.is-active::before { display: none; }
	html.stmap-nav-mini #stmap-sb .snv-help { justify-content: center; margin: 0 10px 14px; padding: 8px; }
}

/* всплывающая подсказка в свёрнутом режиме */
.snv-tip {
	position: fixed; z-index: 1003; pointer-events: none; padding: 7px 11px; border-radius: 9px; background: #24304A; color: #fff;
	font: 600 13px/1.2 'Open Sans', sans-serif; white-space: nowrap; box-shadow: 0 8px 20px rgba(0,0,0,.18); transform: translateY(-50%);
}
.snv-tip[hidden] { display: none; }

/* планшет: свёрнута, раскрывается поверх контента */
@media (max-width: 1199px) and (min-width: 768px) {
	html:not(.stmap-nav-open) #stmap-sb .snv-label,
	html:not(.stmap-nav-open) #stmap-sb .snv-chev,
	html:not(.stmap-nav-open) #stmap-sb .snv-count,
	html:not(.stmap-nav-open) #stmap-sb .snv-sub { display: none !important; }
	html:not(.stmap-nav-open) #stmap-sb .snv-head { padding: 0; flex-direction: column; justify-content: center; }
	html:not(.stmap-nav-open) #stmap-sb .snv-brand { flex: none; }
	html:not(.stmap-nav-open) #stmap-sb .snv-collapse { position: absolute; top: calc(var(--stb-h) + 6px); left: 50%; margin-left: -17px !important; }
	html:not(.stmap-nav-open) #stmap-sb .snv-collapse .snv-ico { transform: rotate(180deg); }
	html:not(.stmap-nav-open) #stmap-sb .snv-scroll { padding-top: 52px; }
	html:not(.stmap-nav-open) #stmap-sb .snv-link, html:not(.stmap-nav-open) #stmap-sb .snv-request { justify-content: center; padding: 0 !important; }
	html:not(.stmap-nav-open) #stmap-sb .snv-link.is-active::before { display: none; }
	html:not(.stmap-nav-open) #stmap-sb .snv-help { justify-content: center; margin: 0 10px 14px; padding: 8px; }
	html.stmap-nav-open #stmap-sb { width: 280px; box-shadow: 12px 0 40px rgba(20, 30, 70, .2); }
}
.snv-backdrop { position: fixed; inset: 0; z-index: 999; background: rgba(20, 28, 54, .45); backdrop-filter: blur(2px); }
.snv-backdrop[hidden] { display: none; }

/* телефон: выезжающая панель */
@media (max-width: 767px) {
	#stmap-sb { width: 300px; max-width: 86vw; transform: translateX(-102%); }
	html.stmap-nav-open #stmap-sb { transform: none; box-shadow: 12px 0 40px rgba(20, 30, 70, .25); }
	#stmap-sb .snv-collapse { display: none; }
	#stmap-sb .snv-close { display: flex; }
	html.stmap-nav-open body { overflow: hidden; }
}

/* ---------- верхняя панель ---------- */
#stmap-tb {
	--p: #6787FE; --s: #465EC2; --a: #FD6D75; --h: #24304A; --line: #E3E8F4;
	position: sticky; z-index: 990; top: var(--snv-top); display: flex; align-items: center; gap: 14px; height: var(--stb-h); padding: 0 28px;
	background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--line); font-family: 'Open Sans', sans-serif;
}
#stmap-tb .snv-ico { width: 22px; height: 22px; flex: none; }
#stmap-tb a { text-decoration: none; }
#stmap-tb .stb-burger, #stmap-tb .stb-logo, #stmap-tb .stb-mobsearch { display: none; }
#stmap-tb .stb-burger, #stmap-tb .stb-mobsearch {
	align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; padding: 0 !important; margin: 0 !important; border: 0 !important;
	border-radius: 12px !important; background: transparent !important; color: var(--h) !important; cursor: pointer; box-shadow: none !important; min-height: 0 !important;
}
#stmap-tb .stb-logo img { width: 32px; height: 32px; display: block; }

#stmap-tb .stb-search { position: relative; flex: 1; max-width: 680px; margin: 0; }
#stmap-tb .stb-search input[type=search] {
	width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 16px 0 46px !important; border-radius: 13px !important;
	border: 1.5px solid transparent !important; background: #F2F5FC !important; box-shadow: none !important; outline: 0;
	color: var(--h) !important; font: 400 15px/1 'Open Sans', sans-serif !important; transition: border-color .15s, background .15s;
}
#stmap-tb .stb-search input[type=search]::placeholder { color: #8A97AE; opacity: 1; }
#stmap-tb .stb-search input[type=search]::-webkit-search-cancel-button { display: none; }
#stmap-tb .stb-search input[type=search]:focus { border-color: var(--p) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(103, 135, 254, .12) !important; }
#stmap-tb .stb-search__ico { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); display: flex; color: #8A97AE; pointer-events: none; }
#stmap-tb .stb-search__ico .snv-ico { width: 20px; height: 20px; }
#stmap-tb .stb-search__btn { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0 !important; border: 0 !important; }

#stmap-tb .stb-suggest {
	position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 50; padding: 8px; max-height: 70vh; overflow: auto;
	background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 60px rgba(20, 30, 70, .18); color: #4A6375;
}
#stmap-tb .stb-suggest[hidden] { display: none; }
#stmap-tb .smh-sg__label { padding: 8px 12px 4px; font: 700 11px/1 'Rubik', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #8A97AE; }
#stmap-tb .smh-sg__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--h); }
#stmap-tb .smh-sg__item:hover, #stmap-tb .smh-sg__item.is-active { background: #EAEFFB; }
#stmap-tb .smh-sg__item span { flex: 1; min-width: 0; }
#stmap-tb .smh-sg__item b { font-weight: 600; font-size: 14px; line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#stmap-tb .smh-sg__item small { display: block; font-size: 12.5px; color: #8A97AE; margin-top: 2px; }
#stmap-tb .smh-sg__item em { font-style: normal; font: 600 14px/1 'Rubik', sans-serif; color: var(--s); white-space: nowrap; }
#stmap-tb .smh-sg__tag { display: inline-flex; margin: 4px; padding: 7px 12px; border-radius: 999px; background: #EAEFFB; color: var(--s); font-size: 13.5px; font-weight: 600; }
#stmap-tb .smh-sg__tag:hover, #stmap-tb .smh-sg__tag.is-active { background: var(--p); color: #fff; }
#stmap-tb .smh-sg__all { display: block; margin-top: 4px; padding: 12px; border-top: 1px solid var(--line); color: var(--s); font: 600 14px/1 'Rubik', sans-serif; text-align: center; }
#stmap-tb .smh-sg__all:hover, #stmap-tb .smh-sg__all.is-active { background: #EAEFFB; }
#stmap-tb .smh-sg__empty { padding: 14px 12px; font-size: 14.5px; }
#stmap-tb .smh-sg__empty button { background: none !important; border: 0 !important; padding: 0 !important; color: var(--s) !important; font: inherit !important; font-weight: 600 !important; text-decoration: underline; cursor: pointer; box-shadow: none !important; min-height: 0 !important; text-transform: none !important; }

#stmap-tb .stb-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; flex: none; }
#stmap-tb .stb-cart {
	position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; color: var(--h);
	transition: background .15s;
}
#stmap-tb .stb-cart:hover { background: #F2F5FC; color: var(--s); }
#stmap-tb .stb-cart__n {
	position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--a); color: #fff;
	font: 700 11px/18px 'Rubik', sans-serif; text-align: center; box-shadow: 0 0 0 2px #fff;
}
#stmap-tb .stb-cart__n.is-empty { background: #C9D2E6; }
#stmap-tb .stb-task {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important;
	background: var(--a) !important; color: #fff !important; font: 600 15px/1 'Rubik', sans-serif !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: 0 8px 20px rgba(253, 109, 117, .3) !important; transition: background .15s, transform .15s; white-space: nowrap; min-height: 0 !important;
}
#stmap-tb .stb-task:hover { background: #F2525B !important; transform: translateY(-1px); }
#stmap-tb .stb-task .snv-ico { width: 18px; height: 18px; }
#stmap-tb .stb-task__short { display: none; }
#stmap-tb .stb-user {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px 0 12px; border-radius: 999px; border: 1.5px solid var(--line);
	color: var(--h); font: 600 14.5px/1 'Rubik', sans-serif; transition: border-color .15s, color .15s;
}
#stmap-tb .stb-user:hover { border-color: var(--p); color: var(--s); }
#stmap-tb .stb-user .snv-ico { width: 20px; height: 20px; }

@media (max-width: 1199px) {
	#stmap-tb { padding: 0 20px; gap: 10px; }
	#stmap-tb .stb-user span { display: none; }
	#stmap-tb .stb-user { width: 44px; padding: 0; justify-content: center; }
}
@media (max-width: 767px) {
	#stmap-tb { padding: 0 10px 0 6px; gap: 4px; }
	#stmap-tb .stb-burger, #stmap-tb .stb-logo, #stmap-tb .stb-mobsearch { display: flex; }
	#stmap-tb .stb-search { position: absolute; left: 0; right: 0; top: 100%; max-width: none; padding: 10px 12px; background: #fff; border-bottom: 1px solid var(--line); display: none; }
	#stmap-tb.is-search .stb-search { display: block; }
	#stmap-tb .stb-search__ico { left: 27px; }
	#stmap-tb .stb-suggest { left: 12px; right: 12px; }
	#stmap-tb .stb-actions { gap: 4px; }
	#stmap-tb .stb-cart, #stmap-tb .stb-mobsearch { width: 40px; height: 40px; }
	#stmap-tb .stb-task { height: 38px; padding: 0 13px !important; font-size: 14px !important; gap: 6px; }
	#stmap-tb .stb-task__full { display: none; }
	#stmap-tb .stb-task__short { display: inline; }
	#stmap-tb .stb-user { width: 40px; height: 40px; border: 0; }
}
@media (max-width: 359px) {
	#stmap-tb .stb-task .snv-ico { display: none; }
}

/* ---------- страницы /faq/ и /contact/: шапка больше не «наезжает» на hero ---------- */
body.stmap-nav-on.stmap-sp-page #stmap-home { margin-top: 0 !important; }
body.stmap-nav-on #stmap-home.smp .smp-hero { padding-top: 76px; }
@media (max-width: 767px) { body.stmap-nav-on #stmap-home.smp .smp-hero { padding-top: 48px; } }

/* ---------- каталог: без правого сайдбара ---------- */
body.stmap-nav-shop aside#secondary { display: none !important; }
body.stmap-nav-shop .uicore-content-wrapper > .uicore-archive,
body.stmap-nav-shop .uicore-content-wrapper > .uicore-post-content { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; padding-right: 0 !important; margin-right: 0 !important; }

.snf {
	--p: #6787FE; --s: #465EC2; --h: #24304A; --line: #E3E8F4;
	margin: 0 0 20px; padding: 20px 22px; border-radius: 18px; background: #fff; box-shadow: 0 2px 14px rgba(51, 51, 51, .06); font-family: 'Open Sans', sans-serif;
}
.snf-sum { display: none; }
.snf-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr) auto; gap: 16px 20px; align-items: end; margin: 0; }
.snf-field { display: block; margin: 0; min-width: 0; }
.snf-field > span { display: block; margin: 0 0 7px; font: 700 13.5px/1.2 'Nunito', sans-serif; color: var(--h); }
.snf-field > span b { font: 600 13px/1 'Rubik', sans-serif; color: var(--s); margin-left: 4px; }
.snf .snf-select:not(.select2-hidden-accessible) {
	width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 38px 0 14px !important; border: 1.5px solid var(--line) !important; border-radius: 12px !important;
	appearance: none; -webkit-appearance: none; cursor: pointer; color: var(--h) !important; font: 400 14.5px/1 'Open Sans', sans-serif !important; box-shadow: none !important;
	background: #F7F9FD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23465EC2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 16px !important;
}
.snf .snf-select:focus { outline: 0; border-color: var(--p) !important; background-color: #fff !important; }
body .snf .select2-container { width: 100% !important; display: block; }
body .snf .select2-container .select2-selection--single { display: flex !important; align-items: center; position: relative; height: 46px !important; padding: 0 !important; border: 1.5px solid var(--line) !important; border-radius: 12px !important; background: #F7F9FD !important; }
body .snf .select2-container .select2-selection__rendered { line-height: 43px !important; padding: 0 38px 0 14px !important; color: var(--h) !important; font: 400 14.5px/43px 'Open Sans', sans-serif !important; }
body .snf .select2-container .select2-selection__arrow { position: absolute !important; top: 50% !important; height: 20px !important; margin-top: -10px; right: 10px !important; }
/* В карточке-тулбаре каталога фильтр — верхняя «полка», без второй тени */
.uicore-archive .snf { flex: 1 1 100%; width: 100%; margin: 4px 0 6px; padding: 6px 0 20px; border-radius: 0; box-shadow: none; border-bottom: 1px solid #EDF0F7; }

.snf-range { position: relative; height: 46px; }
.snf-range::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 5px; margin-top: -2.5px; border-radius: 5px; background: #E3E8F4; }
.snf-range__fill { position: absolute; top: 50%; height: 5px; margin-top: -2.5px; border-radius: 5px; background: var(--p); left: 0; right: 0; }
.snf-range input[type=range] {
	position: absolute; left: 0; top: 0; width: 100%; height: 46px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none;
	-webkit-appearance: none; appearance: none; pointer-events: none; outline: none;
}
.snf-range input[type=range]::-webkit-slider-runnable-track { background: transparent; border: 0; height: 46px; }
.snf-range input[type=range]::-moz-range-track { background: transparent; border: 0; }
.snf-range input[type=range]::-webkit-slider-thumb {
	-webkit-appearance: none; pointer-events: auto; width: 20px; height: 20px; margin-top: 13px; border-radius: 50%; background: #fff; border: 3px solid var(--p);
	box-shadow: 0 2px 8px rgba(70, 94, 194, .3); cursor: grab;
}
.snf-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--p); cursor: grab; }

.snf-actions { display: flex; align-items: center; gap: 14px; }
.snf .snf-apply {
	height: 46px; padding: 0 26px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important; cursor: pointer;
	background: var(--s) !important; color: #fff !important; font: 600 15px/1 'Rubik', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: 0 8px 20px rgba(70, 94, 194, .25) !important; min-height: 0 !important;
}
.snf .snf-apply:hover { background: #3A50AE !important; }
.snf .snf-reset { color: var(--s); font: 600 14px/1 'Rubik', sans-serif; text-decoration: none; white-space: nowrap; }
.snf .snf-reset:hover { text-decoration: underline; }

.snp { margin: 28px 0 10px; padding: 22px 24px; border-radius: 18px; background: #fff; box-shadow: 0 2px 14px rgba(51, 51, 51, .06); }
.snp-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px !important; font: 800 18px/1.2 'Nunito', sans-serif !important; color: #24304A !important; }
.snp-title .snv-ico { width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: #EAEFFB; color: #6787FE; }
.snp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.snp-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px; background: #F2F5FC; color: #3A4660; font-size: 13.5px; font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.snp-chip small { font: 600 11px/1 'Rubik', sans-serif; color: #8A97AE; }
.snp-chip:hover, .snp-chip.is-active { background: #6787FE; color: #fff; }
.snp-chip:hover small, .snp-chip.is-active small { color: rgba(255,255,255,.8); }
.snp:not(.is-all) .snp-more { display: none; }
.snp .snp-toggle {
	padding: 7px 13px !important; margin: 0 !important; border: 1.5px dashed #C9D2E6 !important; border-radius: 999px !important; background: transparent !important;
	color: #465EC2 !important; font: 600 13.5px/1.2 'Open Sans', sans-serif !important; cursor: pointer; box-shadow: none !important; text-transform: none !important; min-height: 0 !important;
}

@media (max-width: 1199px) {
	.snf-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.snf-actions { justify-content: flex-end; }
}
@media (max-width: 767px) {
	.snf { padding: 0; }
	.snf-sum {
		display: flex; align-items: center; gap: 10px; padding: 14px 16px; list-style: none; cursor: pointer;
		font: 700 15.5px/1.2 'Nunito', sans-serif; color: var(--h);
	}
	.snf-sum::-webkit-details-marker { display: none; }
	.snf-sum .snv-ico { width: 20px; height: 20px; color: var(--p); }
	.snf-chev { margin-left: auto; display: flex; transition: transform .2s; }
	.snf[open] .snf-chev { transform: rotate(180deg); }
	.snf-dot { width: 8px; height: 8px; border-radius: 50%; background: #FD6D75; }
	.snf-form { grid-template-columns: minmax(0, 1fr); padding: 4px 16px 18px; gap: 14px; }
	.snf-actions { justify-content: flex-start; }
	.snp { padding: 18px 16px; }
}

/* ---------- синяя шапка #465EC2 (фирменный цвет прежней шапки) ----------
 * Верхняя панель и «голова» боковой панели — одна сплошная синяя полоса. */
#stmap-tb { background: #465EC2; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 0; box-shadow: 0 4px 18px rgba(36, 48, 110, .18); }
#stmap-tb .stb-burger, #stmap-tb .stb-mobsearch { color: #fff !important; }
#stmap-tb .stb-burger:hover, #stmap-tb .stb-mobsearch:hover { background: rgba(255, 255, 255, .14) !important; }
#stmap-tb .stb-search input[type=search] { background: rgba(255, 255, 255, .14) !important; border-color: rgba(255, 255, 255, .18) !important; color: #fff !important; }
#stmap-tb .stb-search input[type=search]::placeholder { color: rgba(255, 255, 255, .75); }
#stmap-tb .stb-search__ico { color: rgba(255, 255, 255, .8); }
#stmap-tb .stb-search input[type=search]:focus { background: #fff !important; border-color: #fff !important; color: #24304A !important; box-shadow: 0 0 0 4px rgba(255, 255, 255, .2) !important; }
#stmap-tb .stb-search input[type=search]:focus::placeholder { color: #8A97AE; }
#stmap-tb .stb-search:focus-within .stb-search__ico { color: #6787FE; }
#stmap-tb .stb-cart { color: #fff; }
#stmap-tb .stb-cart:hover { background: rgba(255, 255, 255, .14); color: #fff; }
#stmap-tb .stb-cart__n { box-shadow: 0 0 0 2px #465EC2; }
#stmap-tb .stb-cart__n.is-empty { background: rgba(255, 255, 255, .35); }
#stmap-tb .stb-task { box-shadow: 0 8px 20px rgba(20, 30, 90, .25) !important; }
#stmap-tb .stb-user { color: #fff; border-color: rgba(255, 255, 255, .55); }
#stmap-tb .stb-user:hover { color: #465EC2; background: #fff; border-color: #fff; }

#stmap-sb .snv-head { background: #465EC2; border-bottom-color: #465EC2; }
#stmap-sb .snv-brand { color: #fff; }
#stmap-sb .snv-collapse, #stmap-sb .snv-close { color: rgba(255, 255, 255, .8) !important; }
#stmap-sb .snv-collapse:hover, #stmap-sb .snv-close:hover { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
/* в режиме иконок кнопка «развернуть» стоит уже под синей полосой — на светлом фоне */
@media (min-width: 1200px) {
	html.stmap-nav-mini #stmap-sb .snv-collapse { color: #8A97AE !important; }
	html.stmap-nav-mini #stmap-sb .snv-collapse:hover { background: #fff !important; color: #465EC2 !important; }
}
@media (max-width: 1199px) and (min-width: 768px) {
	html:not(.stmap-nav-open) #stmap-sb .snv-collapse { color: #8A97AE !important; }
	html:not(.stmap-nav-open) #stmap-sb .snv-collapse:hover { background: #fff !important; color: #465EC2 !important; }
}
@media (max-width: 767px) {
	#stmap-tb .stb-search { background: #465EC2; border-bottom: 0; }
	#stmap-tb .stb-user { border: 0; }
	#stmap-tb .stb-user:hover { background: rgba(255, 255, 255, .14); color: #fff; }
}
