/**
 * USILENIE.NET — V2 чистая тема (ручная сборка).
 * Визуальные токены: u2-*; мосты к разметке Diafan: .js_*, .shop_*, .product-d, .gall-d, .count-d__*, .table-d, …
 */

/* --- Reset / base --- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 17px;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	overflow-x: clip;
}

body.u2-shell {
	margin: 0;
	min-height: 100vh;
	overflow-x: clip;
	font-family: var(--u2-font-body);
	font-size: 17px;
	line-height: 1.55;
	color: var(--u2-text);
	background: var(--u2-bg);
}

body.u2-shell h1,
body.u2-shell h2,
body.u2-shell h3,
body.u2-shell .section__title,
body.u2-shell .u2-hero__title,
body.u2-shell .cta-band__title {
	font-family: var(--u2-font-heading);
	letter-spacing: -0.02em;
	font-weight: 700;
	line-height: 1.15;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--u2-link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--u2-link-hover);
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

/* --- Variables (Figma Make V2 tokens) --- */
:root {
	--u2-bg: #f1f0ec;
	--u2-surface: #ffffff;
	--u2-surface-2: #eceae4;
	--u2-elev: #fafaf9;
	--u2-border: #d8d6d0;
	--u2-border-strong: #c0beb8;
	--u2-text: #0c0d10;
	--u2-muted: #6e6e78;
	--u2-link: #cc5200;
	--u2-link-hover: #a84200;
	--u2-accent: #cc5200;
	--u2-accent-hover: #a84200;
	--u2-teal: #2e7d5e;
	--u2-danger: #c0392b;
	--u2-radius: 8px;
	--u2-radius-sm: 6px;
	--u2-bg-dark: #0c0d10;
	--u2-text-on-dark: #eae6dd;
	--u2-muted-on-dark: #7a7e88;
	--u2-shadow: 0 4px 24px rgba(12, 13, 16, 0.08);
	--u2-shadow-hover: 0 8px 32px rgba(12, 13, 16, 0.1);
	--u2-container: 1152px;
	--u2-header-h: 98px;
	--u2-font-heading: "Space Grotesk", system-ui, sans-serif;
	--u2-font-body: "Inter", system-ui, sans-serif;
	--u2-font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	--u2-dark: #0c0d10;
	--u2-graphite: #14181e;
}

/* --- Layout --- */
.u2-container,
.u-container {
	width: 100%;
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

.u2-shell main#main {
	display: block;
	padding-block: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link:focus {
	position: fixed;
	left: 12px;
	top: 12px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	background: #fff;
	color: #000;
	z-index: 1000;
	border-radius: 8px;
}

.u-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --- Typography --- */
.u2-page-h1,
.usilenie-page__h1 {
	margin: 0 0 16px;
	font-size: clamp(1.55rem, 2.4vw, 2.05rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	font-weight: 700;
}

.u-muted,
.text-muted {
	color: var(--u2-muted);
}

._text {
	color: var(--u2-text);
}

._text a {
	color: var(--u2-link);
}

/* --- Header (Figma V2) --- */
.u2-header.site-header,
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	background: #0c0d10;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.u2-shell {
	padding-top: var(--u2-header-h);
}

body.page-home.u2-shell,
body.page-shop.u2-shell,
body.page-category.u2-shell {
	padding-top: var(--u2-header-h);
}

/* Topbar */
.u2-topbar {
	background: #0f1115;
	color: #eae6dd;
	font-size: 11px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* PHASE1 (2026-06-04): the global utility bar must be FLUSH-LEFT on EVERY page (legacy stack). The
   topbar inner carries the shared .u2-container class (max-width:var(--u2-container)+margin-inline:auto),
   which centred it on all pages except page-home/shop/category → ~300px left gap @1920. Reset
   width/margin on the TOPBAR container only — higher specificity than .u2-container, so .u2-container
   itself is NOT touched (legacy page content keeps its centred max-width). 0 !important. */
.u2-topbar .u2-topbar__inner { max-width: none; margin-left: 0; margin-right: 0; }
.u2-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 12px;
	padding-block: 5px;
	min-height: 28px;
}

.u2-topbar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
}

.u2-topbar__sep {
	color: rgba(255, 255, 255, 0.1);
}

.u2-topbar__meta {
	/* USI-A11Y-HARDEN (2026-06-09): 0.38 opacity was ~3:1 on dark (fails AA for 11px); 0.6 keeps the muted look + clears 4.5:1. */
	color: rgba(234, 230, 221, 0.6);
	font-size: 11px;
}

.u2-topbar__link {
	color: #eae6dd;
	text-decoration: none;
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.04em;
}

.u2-topbar__link:hover {
	color: #fff;
	text-decoration: underline;
}

.u2-topbar__tagline {
	margin: 0;
	font-size: 11px;
	/* USI-A11Y-HARDEN (2026-06-09): 0.18 opacity = ~1.6:1 (near-invisible); 0.6 makes the B2B tagline legible, still muted. */
	color: rgba(234, 230, 221, 0.6);
	max-width: 52ch;
	text-align: right;
	letter-spacing: 0.01em;
}

@media (max-width: 720px) {
	.u2-topbar__tagline {
		text-align: left;
		width: 100%;
	}
}

/* Header bar */
.u2-header__bar .site-header__inner {
	display: flex;
	align-items: center;
	gap: 0;
	height: 70px;
	max-width: none;
	padding-inline: clamp(24px, 5vw, 96px);
}

/* Logo / Brand */
.site-header__brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	flex-shrink: 0;
	margin-right: 24px;
}

.site-header__brand:hover {
	color: #fff;
	text-decoration: none;
}

.site-header__brand-mark {
	flex: none;
	width: 34px;
	height: 34px;
	background: rgb(204, 82, 0);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.site-header__brand-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	line-height: 1.15;
}

.site-header__brand-name {
	font-family: var(--u2-font-heading);
	font-size: 16px;
	font-weight: 700;
	color: rgb(234, 230, 221);
	letter-spacing: 0.05em;
	line-height: 1;
}

.site-header__brand-dot {
	color: rgb(204, 82, 0);
}

.site-header__brand-sub {
	font-family: var(--u2-font-mono);
	font-size: 9px;
	/* USI-A11Y-HARDEN (2026-06-09): 0.28 opacity (~2.2:1) → 0.62 for legibility of the brand subtitle. */
	color: rgba(234, 230, 221, 0.62);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Nav wrap */
.site-header__nav-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	min-width: 0;
	height: 100%;
}

/* Desktop nav */
.site-nav {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	align-items: center;
	height: 100%;
	flex: 1;
	min-width: 0;
}

.site-nav a,
.site-nav .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 100%;
	padding: 0 clamp(7px, 0.95vw, 13px);
	font-family: var(--u2-font-body);
	font-size: 15px;
	letter-spacing: 0.01em;
	font-weight: 400;
	color: rgba(234, 230, 221, 0.65);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.site-nav a:hover,
.site-nav .nav-link:hover {
	color: #fff;
	text-decoration: none;
}

.site-nav .nav-link--active,
.site-nav .nav-link.is-open {
	color: #fff;
	border-bottom-color: rgb(204, 82, 0);
}

.nav-link__chevron {
	flex: none;
	margin-top: 1px;
	opacity: 0.45;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

[data-dropdown-trigger]:hover .nav-link__chevron,
[data-dropdown-trigger].is-open .nav-link__chevron {
	transform: rotate(180deg);
	opacity: 0.8;
}

/* Desktop dropdown / mega-menu */
.site-nav__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: rgb(12, 13, 16);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.6);
	z-index: 70;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0);
	transition: opacity 0.2s ease, visibility 0.2s ease;
	overflow: hidden;
}

.site-nav__dropdown.is-open {
	opacity: 1;
	visibility: visible;
}

.dropdown-body {
	display: flex;
	gap: 0;
	max-width: 1400px;
	margin: 0 auto;
	padding: 24px 32px;
}

.dropdown-grid {
	flex: 1 1 0%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}

@media (max-width: 768px) {
	.dropdown-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.dropdown-grid {
		grid-template-columns: 1fr;
	}
}

.dropdown-card {
	display: block;
	padding: 18px 20px;
	text-decoration: none;
	border-right: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	transition: background 0.12s ease;
}

.dropdown-card:hover {
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none;
}

.dropdown-card__title {
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	color: rgb(234, 230, 221);
	margin-bottom: 5px;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.dropdown-card__desc {
	font-family: var(--u2-font-body);
	font-size: 13px;
	color: rgba(234, 230, 221, 0.42);
	line-height: 1.5;
	margin-bottom: 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dropdown-card__count {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: rgb(204, 82, 0);
	letter-spacing: 0.06em;
}

.dropdown-sidebar {
	width: 220px;
	flex-shrink: 0;
	padding: 18px 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.dropdown-sidebar__title {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: rgba(234, 230, 221, 0.38);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 12px;
	font-weight: 700;
}

.dropdown-sidebar__link {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 0;
	font-family: var(--u2-font-body);
	font-size: 14px;
	color: rgba(234, 230, 221, 0.6);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	transition: color 0.12s ease;
}

.dropdown-sidebar__link:hover {
	color: #fff;
	text-decoration: none;
}

.dropdown-sidebar__link span {
	width: 4px;
	height: 4px;
	background: rgb(204, 82, 0);
	border-radius: 50%;
	flex-shrink: 0;
}

.dropdown-sidebar__link:last-child {
	border-bottom: none;
}

/* Search */
.site-header__search {
	display: block;
	/* USI-HEADER-GAP (2026-06-12, BIGDAY2 2.1): inner row is gap:0, nav right-aligns against the
	   search box → last nav item «Контакты» crowded under the search magnifier. Add breathing room.
	   (Primary header CSS — loaded site-wide incl. home; mirrored in u2-system.css for gated pages.) */
	margin-left: clamp(12px, 1.6vw, 26px);
}

.site-header__search-box {
	display: flex;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	transition: border-color 0.15s ease, background 0.15s ease;
	width: clamp(130px, 14vw, 200px);
}

.site-header__search-box:focus-within {
	border-color: rgba(204, 82, 0, 0.45);
	background: rgba(255, 255, 255, 0.06);
}

.site-header__search-icon {
	padding: 0 10px;
	color: rgba(234, 230, 221, 0.4);
	display: flex;
	flex: none;
}

.site-header__search input[type="search"] {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 9px 0;
	color: rgb(234, 230, 221);
	outline: none;
	min-width: 0;
	font-family: var(--u2-font-mono);
	font-size: 13px;
	letter-spacing: 0.02em;
}

.site-header__search input::placeholder {
	color: rgba(234, 230, 221, 0.35);
}

/* Toolbar */
.site-header__toolbar {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: nowrap;
	min-width: 0;
	flex-shrink: 0;
}

.site-header__toolbar .u2-header-cta {
	flex: 0 0 auto;
	min-width: 0;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: none;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.site-header__phone-link {
	font-weight: 600;
	font-size: 0.85rem;
	color: #eae6dd;
	text-decoration: none;
	white-space: nowrap;
	padding-right: 4px;
}

.site-header__phone-link:hover {
	color: var(--u2-accent);
	text-decoration: none;
}

.u2-header-cta {
	white-space: nowrap;
}

/* Icon buttons */
.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 6px;
	border: none;
	background: transparent;
	color: rgba(234, 230, 221, 0.5);
	text-decoration: none;
	position: relative;
	padding: 8px;
	cursor: pointer;
	transition: color 0.15s ease;
}

.icon-btn:hover {
	color: #fff;
	text-decoration: none;
}

.icon-btn--active {
	border-color: rgba(204, 82, 0, 0.35);
	background: rgba(204, 82, 0, 0.1);
}

.site-header__toolbar-divider {
	width: 1px;
	height: 20px;
	background: rgba(255, 255, 255, 0.1);
	margin: 0 6px;
}

.icon-btn__badge {
	position: absolute;
	top: -3px;
	right: -3px;
	min-width: 15px;
	height: 15px;
	padding: 0 3px;
	background: #cc5200;
	border-radius: 7px;
	border: 2px solid #090b0f;
	font-family: ui-monospace, monospace;
	font-size: 9px;
	font-weight: 700;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
}

/* Nav toggle (hamburger) */
.nav-toggle {
	display: none;
	width: 36px;
	height: 36px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
	cursor: pointer;
	align-items: center;
	justify-content: center;
	color: #eae6dd;
	transition: background 0.12s ease, border-color 0.12s ease;
}

.nav-toggle:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.18);
}

.nav-toggle--search {
	display: none;
}

.nav-toggle__bars {
	width: 16px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor;
	border-radius: 2px;
	position: relative;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.nav-toggle.is-active .nav-toggle__bars {
	background: transparent;
	box-shadow: none;
}

.nav-toggle.is-active .nav-toggle__bars::before,
.nav-toggle.is-active .nav-toggle__bars::after {
	content: '';
	position: absolute;
	left: 0;
	width: 16px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

.nav-toggle.is-active .nav-toggle__bars::before {
	transform: rotate(45deg);
}

.nav-toggle.is-active .nav-toggle__bars::after {
	transform: rotate(-45deg);
}

/* Mobile drawer */
.site-nav-panel {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100svh;
	z-index: 55;
	pointer-events: none;
	display: flex;
	justify-content: flex-end;
}

.site-nav-panel__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.site-nav-panel.is-open {
	pointer-events: auto;
}

.site-nav-panel.is-open .site-nav-panel__overlay {
	opacity: 1;
}

.site-nav-panel__sheet {
	position: relative;
	width: 100%;
	height: 100%;
	background: #0c0d10;
	border-left: none;
	box-shadow: none;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
	padding: var(--u2-header-h, 70px) 0 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: auto;
}

.site-nav-panel.is-open .site-nav-panel__sheet {
	transform: translateX(0);
}

.site-nav-panel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	flex-shrink: 0;
}

.site-nav-panel__logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.site-nav-panel__logo-mark {
	flex: none;
	display: inline-flex;
}

.site-nav-panel__logo-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.site-nav-panel__logo-name {
	font-family: var(--u2-font-heading);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: #fff;
}

.site-nav-panel__logo-dot {
	color: var(--u2-accent);
}

.site-nav-panel__logo-sub {
	font-size: 11px;
	color: rgba(234, 230, 221, 0.5);
}

.site-nav-panel__tools {
	display: flex;
	align-items: center;
	gap: 8px;
}

.site-nav-panel__tool {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: transparent;
	color: #eae6dd;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.site-nav-panel__tool:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.site-nav-panel__title {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7a7e88;
}

.site-nav-panel__close {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--u2-radius-sm);
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.06);
	color: #eae6dd;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.site-nav-panel__close:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.site-nav-panel__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	color: rgba(234, 230, 221, 0.85);
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	transition: color 0.12s ease, background 0.12s ease;
}

.site-nav-panel__link svg {
	flex: none;
	opacity: 0.3;
	transition: opacity 0.12s ease, transform 0.12s ease;
}

.site-nav-panel__link:hover svg {
	opacity: 0.8;
	transform: translateX(2px);
}

.site-nav-panel__link:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.04);
	text-decoration: none;
}

/* Mobile search overlay */
.mobile-search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 110;
	background: #0c0d10;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	transform: translateY(-100%);
	transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.mobile-search-overlay.is-open {
	transform: translateY(0);
}

.mobile-search-overlay[hidden] {
	display: none;
}

.mobile-search-overlay__form {
	display: flex;
	align-items: center;
	height: 64px;
	padding: 0;
}

.mobile-search-overlay__icon {
	padding: 0 14px 0 18px;
	color: rgba(234, 230, 221, 0.4);
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.mobile-search-overlay__input {
	flex: 1;
	background: transparent;
	border: none;
	outline: none;
	color: #eae6dd;
	font-family: var(--u2-font-body);
	font-size: 16px;
	padding: 0;
	min-width: 0;
}

.mobile-search-overlay__input::placeholder {
	color: rgba(234, 230, 221, 0.35);
}

.mobile-search-overlay__close {
	padding: 0 18px;
	background: transparent;
	border: none;
	color: rgba(234, 230, 221, 0.5);
	cursor: pointer;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	transition: color 0.15s ease;
}

.mobile-search-overlay__close:hover {
	color: #fff;
}

.mobile-nav__body {
	flex: 1 1 auto;
	overflow: auto;
	padding: 8px 0;
}

.site-nav-panel__footer {
	padding: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	flex-shrink: 0;
}

.site-nav-panel__contacts {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.site-nav-panel__contact-item {
	display: block;
	color: rgba(234, 230, 221, 0.8);
	font-size: 0.85rem;
	line-height: 1.4;
	word-break: break-word;
}

.site-nav-panel__contact-item--phone {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 600;
	text-decoration: none;
	margin-top: 4px;
}

.site-nav-panel__contact-item--email {
	color: #cc9a6a;
	text-decoration: none;
	font-size: 0.85rem;
}

.site-nav-panel__contact-item--email:hover {
	color: #ffb86c;
	text-decoration: underline;
}

.site-nav-panel__contact-item--hours {
	color: rgba(234, 230, 221, 0.45);
	font-size: 0.8rem;
	margin-top: 2px;
}

.mobile-nav__body > a,
.mobile-accordion__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 13px 20px;
	color: #eae6dd;
	text-decoration: none;
	font-weight: 600;
	font-size: 1rem;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	cursor: pointer;
	transition: color 0.12s ease, background 0.12s ease;
	text-align: left;
	font-family: inherit;
}

.mobile-nav__body > a:hover,
.mobile-accordion__trigger:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.04);
}

.mobile-accordion__icon {
	flex: none;
	transition: transform 0.2s ease;
	opacity: 0.3;
}

.mobile-accordion__trigger[aria-expanded="true"] .mobile-accordion__icon {
	transform: rotate(180deg);
}

.mobile-accordion__panel {
	background: rgba(0, 0, 0, 0.25);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mobile-accordion__panel[hidden] {
	display: none;
}

.mobile-accordion__panel a {
	display: block;
	padding: 10px 20px 10px 32px;
	color: rgba(234, 230, 221, 0.7);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 500;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	transition: color 0.12s ease, background 0.12s ease;
}

.mobile-accordion__panel a:last-child {
	border-bottom: none;
}

.mobile-accordion__panel a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.04);
}

.mobile-accordion__link {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px 12px 24px !important;
}

.mobile-accordion__link span {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.06em;
}

.mobile-accordion__all {
	display: block;
	margin: 14px 20px 16px;
	padding: 12px 18px;
	background: #cc5200;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	transition: background 0.15s ease;
}

.mobile-accordion__all:hover {
	background: #a84200;
}

.site-nav-panel__link--numbered {
	font-size: 22px;
	font-weight: 600;
}

.site-nav-panel__link-inner {
	display: flex;
	align-items: center;
	gap: 16px;
}

.site-nav-panel__link-num {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.06em;
	flex-shrink: 0;
}

.mobile-nav__footer {
	padding: 16px 20px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	flex-shrink: 0;
	background: #0f1115;
}

.mobile-nav__tools {
	display: flex;
	gap: 12px;
	margin-top: 12px;
}

.mobile-nav__tools a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.05);
	color: rgba(234, 230, 221, 0.8);
	text-decoration: none;
	font-size: 0.88rem;
	font-weight: 600;
	transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
	flex: 1 1 0;
	justify-content: center;
}

.mobile-nav__tools a:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.mobile-nav__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: #cc5200;
	border-radius: 9px;
	font-size: 10px;
	font-weight: 700;
	color: #fff;
}

body.u2-nav-open {
	overflow: hidden;
}

body.u2-nav-open #usilenie-site-header {
	z-index: 90;
}

@media (max-width: 1300px) and (min-width: 1101px) {
	.site-header__phone-link {
		display: none;
	}
}

@media (max-width: 1100px) {
	.site-header__nav-wrap {
		justify-content: flex-end;
		gap: 8px;
	}
	.site-header__search {
		display: none;
	}
	.site-nav {
		display: none;
	}
	.nav-toggle {
		display: inline-flex;
	}
	.nav-toggle--search {
		display: inline-flex;
	}
	.site-header__phone-link {
		display: none;
	}
	.site-header__toolbar .u2-header-cta {
		display: none;
	}
	.site-header__toolbar .icon-btn {
		display: none;
	}
	.site-header__toolbar {
		gap: 4px;
	}
}

/* T5/A6: mobile — shift compare/cart cluster right (uniform gap from logo) + drop the
   now-redundant dividers (desktop phone is hidden on mobile → two adjacent dividers). */
@media (max-width: 768px) {
	.site-header__toolbar { margin-left: auto; gap: 6px; }
	.site-header__toolbar .site-header__toolbar-divider { display: none; }
}

/* --- Buttons --- */
.u2-btn,
.btn,
.usilenie-btn,
.usilenie-compare-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: var(--u2-radius-sm);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.2;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease;
	white-space: nowrap;
}

.u2-btn:active,
.btn:active {
	transform: translateY(1px);
}

.btn--sm,
.u2-btn--sm {
	padding: 9px 14px;
	font-size: 0.88rem;
}

.u2-btn--block {
	width: 100%;
	justify-content: center;
}

.btn--lg {
	padding: 14px 22px;
	font-size: 1rem;
}

.btn--primary,
.u2-btn--primary,
.usilenie-btn--primary,
.usilenie-compare-btn--primary {
	background: var(--u2-accent);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 2px 12px rgba(204, 82, 0, 0.22);
}

.btn--primary:hover,
.u2-btn--primary:hover,
.usilenie-btn--primary:hover,
.usilenie-compare-btn--primary:hover {
	background: var(--u2-accent-hover);
	text-decoration: none;
	color: #fff;
}

.btn--secondary,
.u2-btn--secondary {
	background: var(--u2-surface-2);
	color: var(--u2-text);
	border-color: var(--u2-border);
}

.btn--outline,
.u2-btn--outline,
.usilenie-btn--outline,
.usilenie-compare-btn--outline {
	background: transparent;
	color: var(--u2-text);
	border-color: var(--u2-border-strong);
}

.btn--outline:hover,
.u2-btn--outline:hover,
.usilenie-btn--outline:hover,
.usilenie-compare-btn--outline:hover {
	background: #fff7f0;
	border-color: var(--u2-accent);
	text-decoration: none;
	color: var(--u2-text);
}

.btn--ghost,
.u2-btn--ghost,
.usilenie-btn--ghost,
.usilenie-compare-btn--ghost {
	background: transparent;
	color: var(--u2-text);
	border-color: transparent;
}

.btn--ghost:hover,
.u2-btn--ghost:hover,
.usilenie-btn--ghost:hover,
.usilenie-compare-btn--ghost:hover {
	background: rgba(204, 82, 0, 0.06);
	border-color: transparent;
	text-decoration: none;
	color: var(--u2-link);
}

.u2-btn__chev {
	flex: none;
	margin-left: 4px;
}

.usilenie-compare-btn:disabled,
.usilenie-compare-btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.u2-btn__icon {
	flex: none;
	margin-right: 6px;
	vertical-align: middle;
}

.usilenie-btn svg,
.u2-btn svg {
	flex: none;
}

/* --- Hero (Figma V2 light) --- */
.u2-hero,
.hero {
	position: relative;
	color: var(--u2-text);
	background: linear-gradient(180deg, #e8e6e0 0%, var(--u2-bg) 100%);
	border-bottom: 1px solid var(--u2-border);
}

.u2-hero--home {
	padding: clamp(32px, 5vw, 56px) 0 clamp(40px, 6vw, 72px);
	overflow: hidden;
}

.u2-hero__bg {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(ellipse 900px 400px at 85% 15%, rgba(204, 82, 0, 0.09), transparent 55%),
		radial-gradient(ellipse 700px 360px at 10% 80%, rgba(30, 37, 48, 0.06), transparent 50%),
		linear-gradient(rgba(12, 13, 16, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(12, 13, 16, 0.04) 1px, transparent 1px);
	background-size: auto, auto, 56px 56px, 56px 56px;
	opacity: 1;
	pointer-events: none;
}

.u2-hero .u2-container {
	position: relative;
	z-index: 1;
}

.u2-hero__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 4vw, 40px);
	align-items: center;
	margin-bottom: 28px;
}

@media (min-width: 960px) {
	.u2-hero__layout {
		grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
		gap: 48px;
	}
}

.u2-hero__copy {
	min-width: 0;
}

.u2-hero__aside {
	min-width: 0;
}

.u2-hero__panel {
	position: relative;
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: linear-gradient(155deg, #fff 0%, var(--u2-surface-2) 100%);
	box-shadow: 0 24px 48px rgba(12, 13, 16, 0.08), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
	padding: clamp(22px, 3vw, 28px);
	min-height: 260px;
	overflow: hidden;
}

.u2-hero__panel-glow {
	position: absolute;
	width: 220px;
	height: 220px;
	right: -40px;
	top: -60px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(204, 82, 0, 0.22) 0%, transparent 70%);
	pointer-events: none;
}

.u2-hero__panel-stripes {
	position: absolute;
	inset: 0;
	opacity: 0.07;
	background-image: repeating-linear-gradient(
		-12deg,
		var(--u2-text) 0,
		var(--u2-text) 1px,
		transparent 1px,
		transparent 14px
	);
	pointer-events: none;
}

.u2-hero__panel-label {
	position: relative;
	margin: 0 0 8px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
}

.u2-hero__panel-title {
	position: relative;
	margin: 0 0 16px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--u2-text);
	max-width: 22ch;
}

.u2-hero__panel-list {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.u2-hero__panel-list li {
	padding-left: 22px;
	position: relative;
	font-size: 0.92rem;
	color: var(--u2-muted);
	line-height: 1.4;
}

.u2-hero__panel-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: linear-gradient(135deg, var(--u2-accent), rgba(204, 82, 0, 0.45));
}

.u2-hero__grid {
	display: block;
}

.u2-hero__eyebrow,
.hero__eyebrow {
	margin: 0 0 12px;
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--u2-muted);
	font-weight: 600;
}

.u2-hero__title,
.hero__title {
	margin: 0 0 16px;
	font-size: clamp(2.1rem, 4.5vw, 3.5rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	font-weight: 700;
	font-family: var(--u2-font-heading);
}

.u2-hero__lead,
.hero__lead {
	margin: 0 0 24px;
	color: var(--u2-muted);
	max-width: 62ch;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.6;
}

.u2-hero__actions,
.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 28px;
}

.u2-hero__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 900px) {
	.u2-hero__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.u2-hero__stats {
		grid-template-columns: 1fr;
	}
}

.u2-stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
}

.u2-stat--accent {
	border-color: rgba(204, 82, 0, 0.35);
	background: linear-gradient(135deg, #fff, #fff7f0);
}

.u2-stat__k {
	font-family: var(--u2-font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: var(--u2-text);
	line-height: 1.25;
}

.u2-stat--accent .u2-stat__k {
	color: var(--u2-text);
}

.u2-stat__v {
	font-size: 0.84rem;
	color: var(--u2-muted);
	line-height: 1.45;
}

.hero--compact {
	padding: clamp(22px, 4vw, 34px) 0;
}

.page-home .hero--compact {
	padding: 0;
}

/* --- Sections / grids --- */
.section,
.u2-section {
	padding: clamp(40px, 5vw, 72px) 0;
}

.u2-section--muted {
	background: var(--u2-surface-2);
	border-block: 1px solid var(--u2-border);
}

.section--tight {
	padding-top: 18px;
}

.section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}

.section__label {
	margin: 0 0 6px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.section__title {
	margin: 0 0 8px;
	font-size: clamp(1.45rem, 2.5vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	font-family: var(--u2-font-heading);
}

.section__desc {
	margin: 0;
	color: var(--u2-muted);
	max-width: 70ch;
}

.grid {
	display: grid;
	gap: 16px;
}

.grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
	.grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.grid--2,
	.grid--3,
	.grid--4 {
		grid-template-columns: 1fr;
	}
}

/* --- Cards --- */
.card,
.u2-card {
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 100%;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.card:hover,
.u2-card:hover {
	box-shadow: var(--u2-shadow-hover);
	border-color: var(--u2-border-strong);
}

.card__title,
.u2-card__title {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
}

.card__title a,
.u2-card__title a {
	color: var(--u2-text);
	text-decoration: none;
}

.card__title a:hover,
.u2-card__title a:hover {
	color: var(--u2-link);
	text-decoration: none;
}

.card__text,
.u2-card__text {
	margin: 0;
	color: var(--u2-muted);
	flex: 1;
}

.card__link,
.text-link {
	font-weight: 600;
	color: var(--u2-link);
	text-decoration: none;
}

.card__link:hover,
.text-link:hover {
	color: var(--u2-link-hover);
	text-decoration: underline;
}

/* --- Homepage category cards (Figma) --- */
.u2-cat-grid {
	gap: 20px;
}

.u2-cat-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.u2-cat-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--u2-shadow-hover);
	border-color: rgba(204, 82, 0, 0.35);
	text-decoration: none;
	color: inherit;
}

.u2-cat-card__media {
	position: relative;
	height: 168px;
	overflow: hidden;
	border-bottom: 1px solid var(--u2-border);
	background: var(--u2-graphite);
}

.u2-cat-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.85;
	background-image: linear-gradient(135deg, rgba(204, 82, 0, 0.35), transparent 45%),
		repeating-linear-gradient(-12deg, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 14px);
}

.u2-cat-card__media.u2-cat-card__media--photo::after {
	opacity: 0.14;
	background-image: linear-gradient(
			180deg,
			rgba(12, 13, 16, 0) 55%,
			rgba(12, 13, 16, 0.22) 100%
		),
		linear-gradient(135deg, rgba(204, 82, 0, 0.1), transparent 58%);
}

.u2-cat-card__media--tape::after {
	background-image: linear-gradient(90deg, rgba(204, 82, 0, 0.45), rgba(30, 37, 48, 0.9)),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.08) 0 2px, transparent 2px 10px);
}

.u2-cat-card__media--lamel::after {
	background-image: linear-gradient(180deg, rgba(58, 111, 168, 0.4), rgba(12, 13, 16, 0.95)),
		linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
	background-size: auto, 24px 100%;
}

.u2-cat-card__media--mesh::after {
	background-image: radial-gradient(circle at 30% 30%, rgba(204, 82, 0, 0.25), transparent 50%),
		linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
	background-size: auto, 18px 18px, 18px 18px;
}

.u2-cat-card__media--rebar::after {
	background-image: linear-gradient(45deg, rgba(46, 125, 94, 0.35), rgba(12, 13, 16, 0.92)),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0 3px, transparent 3px 14px);
}

.u2-cat-card__media--anchor::after {
	background-image: conic-gradient(from 180deg at 70% 40%, rgba(204, 82, 0, 0.4), transparent 120deg),
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: auto, 20px 20px;
}

.u2-cat-card__media--epoxy::after {
	background-image: radial-gradient(ellipse at 50% 0%, rgba(204, 82, 0, 0.5), transparent 55%),
		linear-gradient(180deg, rgba(30, 37, 48, 0.9), rgba(12, 13, 16, 1));
}

.u2-cat-card__media--fire::after {
	background-image: linear-gradient(0deg, rgba(192, 57, 43, 0.35), rgba(12, 13, 16, 0.92)),
		repeating-linear-gradient(-20deg, rgba(255, 200, 120, 0.08) 0 2px, transparent 2px 16px);
}

.u2-cat-card__media--repair::after {
	background-image: linear-gradient(135deg, rgba(110, 110, 120, 0.4), rgba(12, 13, 16, 0.95)),
		radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.08), transparent 40%);
}

.u2-cat-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.u2-cat-card__en {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.u2-cat-card__title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
	color: var(--u2-text);
}

.u2-cat-card__text {
	margin: 0;
	font-size: 0.9rem;
	color: var(--u2-muted);
	line-height: 1.5;
	flex: 1;
}

.u2-cat-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--u2-border);
	font-size: 0.82rem;
}

.u2-cat-card__meta {
	color: var(--u2-muted);
	font-weight: 600;
}

.u2-cat-card__go {
	font-weight: 700;
	color: var(--u2-link);
}

.u2-cat-card:hover .u2-cat-card__go {
	color: var(--u2-link-hover);
}

/* Services grid (Figma) */
.u2-svc-grid {
	gap: 16px;
}

.u2-svc-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
	text-decoration: none;
	color: inherit;
	min-height: 100%;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.u2-svc-card:hover {
	box-shadow: var(--u2-shadow-hover);
	border-color: rgba(204, 82, 0, 0.3);
	transform: translateY(-2px);
	text-decoration: none;
	color: inherit;
}

.u2-svc-card__num {
	font-family: var(--u2-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: rgba(204, 82, 0, 0.45);
	line-height: 1;
}

.u2-svc-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
	color: var(--u2-text);
}

.u2-svc-card__text {
	margin: 0;
	font-size: 0.9rem;
	color: var(--u2-muted);
	line-height: 1.55;
	flex: 1;
}

.u2-svc-card__more {
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--u2-link);
	margin-top: 4px;
}

.u2-svc-card:hover .u2-svc-card__more {
	color: var(--u2-link-hover);
}

/* Objects */
.u2-obj-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.u2-obj-card:hover {
	box-shadow: var(--u2-shadow-hover);
	border-color: rgba(204, 82, 0, 0.28);
	text-decoration: none;
	color: inherit;
}

.u2-obj-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.u2-obj-card__tags span {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 2px;
	background: var(--u2-surface-2);
	border: 1px solid var(--u2-border);
	color: var(--u2-muted);
}

.u2-obj-card__title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
	color: var(--u2-text);
}

.u2-obj-card__city {
	margin: 0;
	font-size: 0.88rem;
	color: var(--u2-muted);
}

.u2-obj-card__scope {
	margin: 0;
	font-size: 0.9rem;
	color: var(--u2-text);
	line-height: 1.5;
	flex: 1;
}

.u2-obj-card__go {
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--u2-link);
	margin-top: 4px;
}

/* Docs */
.u2-doc-card {
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	box-shadow: var(--u2-shadow);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 100%;
}

.u2-doc-card__icon {
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: var(--u2-radius-sm);
	background: rgba(204, 82, 0, 0.1);
	border: 1px solid rgba(204, 82, 0, 0.22);
	font-weight: 800;
	font-size: 0.72rem;
	color: var(--u2-link);
}

.u2-doc-card__title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
}

.u2-doc-card__text {
	margin: 0;
	font-size: 0.9rem;
	color: var(--u2-muted);
	flex: 1;
}

.u2-doc-card__link {
	font-weight: 700;
	color: var(--u2-link);
	text-decoration: none;
}

.u2-doc-card__link:hover {
	text-decoration: underline;
}

.case-card .case-card__meta {
	margin: 0 0 8px;
	font-size: 0.82rem;
	color: var(--u2-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 700;
}

.doc-card .doc-card__icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: var(--u2-radius-sm);
	background: rgba(204, 82, 0, 0.1);
	border: 1px solid rgba(204, 82, 0, 0.22);
	font-weight: 800;
	font-size: 0.78rem;
	color: var(--u2-link);
}

/* --- Chips --- */
.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.chip {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	color: var(--u2-text);
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}

.chip:hover {
	border-color: var(--u2-accent);
	background: #fff7f0;
	text-decoration: none;
	color: var(--u2-link);
}

.u-mt-xl {
	margin-top: 22px;
}

.u-mt-2xl {
	margin-top: 34px;
}

/* --- CTA band (Figma) --- */
.cta-band,
.u2-cta-band {
	background: var(--u2-surface);
	border-top: 1px solid var(--u2-border);
	border-bottom: 1px solid var(--u2-border);
}

.cta-band__inner,
.u2-cta-band__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: clamp(28px, 4vw, 44px) 0;
}

.u2-cta-band__copy {
	flex: 1 1 360px;
}

.u2-cta-band__eyebrow {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.cta-band__title,
.u2-cta-band__title {
	margin: 0 0 10px;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 700;
	font-family: var(--u2-font-heading);
	letter-spacing: -0.02em;
	max-width: 22ch;
}

.cta-band__text,
.u2-cta-band__text {
	margin: 0;
	color: var(--u2-muted);
	max-width: 52ch;
	line-height: 1.55;
}

.cta-band__actions,
.u2-cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

/* PDP related grid */
.u2-pdp-related-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.u2-pdp-related-grid .card {
	padding: 28px;
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius);
	box-shadow: var(--u2-shadow);
	transition: box-shadow 0.15s, border-color 0.15s;
	text-decoration: none;
	color: var(--u2-text);
}

.u2-pdp-related-grid .card:hover {
	box-shadow: var(--u2-shadow-hover);
	border-color: #c0beb8;
}

.u2-pdp-related-grid .card__title {
	font-size: 1.2rem;
	margin: 0 0 10px;
	font-family: var(--u2-font-heading);
	font-weight: 700;
}

.u2-pdp-related-grid .card__text {
	color: var(--u2-muted);
	margin: 0;
	font-size: 0.95rem;
}

@media (max-width: 640px) {
	.u2-pdp-related-grid {
		grid-template-columns: 1fr;
	}
}

/* PDP CTA band dark */
.page-product .cta-band {
	background: #14181e;
	color: #eae6dd;
	border-color: rgba(255, 255, 255, 0.08);
}

.page-product .cta-band__title {
	color: #eae6dd;
}

.page-product .cta-band__text {
	color: rgba(234, 230, 221, 0.55);
}

/* =============================================
   FOOTER V2 — Exact donor match
   ============================================= */

.u2-footer-v2 {
	background: var(--u2-bg-dark);
	border-top: 1px solid rgba(255,255,255,0.06);
	color: var(--u2-text-on-dark);
}


/* == FOOTWIDE (2026-07-17): контентная колонна футера = канон широкой колонны сайта
   (эталон — CTA-полоса главной: full-width, padding-inline 4vw/5vw/6vw по брейкпоинтам).
   Собственный класс, одинаковый в обоих CSS-стеках (у .u2-shop-wide в стеках разная геометрия). == */
.u2-footer-v2__wide {
	width: 100%;
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 28px);
}
@media (min-width: 1024px) {
	.u2-footer-v2__wide { padding-inline: clamp(40px, 5vw, 64px); }
}
@media (min-width: 1280px) {
	.u2-footer-v2__wide { padding-inline: clamp(56px, 6vw, 96px); }
}

.u2-footer-v2__main {
	border-bottom: 1px solid rgba(255,255,255,0.06);
	/* FOOTWIDE (2026-07-17): горизонтальные отступы/ширину даёт внутренний .u2-shop-wide
	   (канон контентной колонки, как у CTA-полосы) — у полосы только вертикаль. */
	padding: 56px 0 32px;
}

.u2-footer-v2__grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 40px;
}

@media (min-width: 768px) {
	.u2-footer-v2__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.u2-footer-v2__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 40px;
	}
}

/* Brand column */
.u2-footer-v2__brand {
	max-width: 280px;
}

.u2-footer-v2__brand-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.u2-footer-v2__logo-mark {
	width: 28px;
	height: 28px;
	background: var(--u2-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.u2-footer-v2__logo-name {
	font-family: var(--u2-font-heading);
	font-size: 15px;
	font-weight: 700;
	color: var(--u2-text-on-dark);
	letter-spacing: 0.04em;
	line-height: 1;
}

.u2-footer-v2__logo-accent {
	color: var(--u2-accent);
}

.u2-footer-v2__logo-sub {
	font-family: var(--u2-font-mono);
	font-size: 9px;
	color: rgba(234,230,221,0.3);
	letter-spacing: 0.12em;
	margin-top: 2px;
	line-height: 1;
}

.u2-footer-v2__lead {
	font-family: var(--u2-font-body);
	font-size: 13px;
	color: rgba(234,230,221,0.45);
	line-height: 1.7;
	max-width: 240px;
	margin: 0 0 24px;
}

.u2-footer-v2__social {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

.u2-footer-v2__soc {
	width: 32px;
	height: 32px;
	background: rgba(255,255,255,0.06);
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(234,230,221,0.35);
	cursor: default;
}

.u2-footer-v2__social-note {
	font-family: var(--u2-font-body);
	font-size: 11px;
	color: rgba(234,230,221,0.28);
	margin: 0;
	max-width: 220px;
	line-height: 1.45;
}

/* Column headers */
.u2-footer-v2__col-title {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: var(--u2-accent);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 16px;
	font-weight: 700; /* TYPO canon: Figma footer column headers are bold mono (was 400) */
}

/* Links */
.u2-footer-v2__link {
	display: block;
	font-family: var(--u2-font-body);
	font-size: 13px;
	color: rgba(234,230,221,0.5);
	text-decoration: none;
	padding-bottom: 9px;
	transition: color 0.15s;
}

.u2-footer-v2__link:hover {
	color: var(--u2-text-on-dark);
}

/* Contacts column */
.u2-footer-v2__email {
	display: block;
	/* USI-FOOT-CONTACT (2026-06-10): body font (Inter) not mono — Space Mono's «@» reads as a box. */
	font-family: var(--u2-font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--u2-text-on-dark);
	text-decoration: none;
	margin-bottom: 6px;
	letter-spacing: 0.02em;
}
.u2-footer-v2__phone {
	display: block;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--u2-text-on-dark);
	text-decoration: none;
	margin-bottom: 10px;
	letter-spacing: 0.02em;
}
.u2-footer-v2__phone:hover { color: #CC5200; }

.u2-footer-v2__hours {
	font-family: var(--u2-font-body);
	font-size: 12px;
	color: rgba(234,230,221,0.35);
	margin: 0 0 16px;
	line-height: 1.55;
}

.u2-footer-v2__address {
	font-family: var(--u2-font-body);
	font-size: 13px;
	color: rgba(234,230,221,0.4);
	line-height: 1.6;
	margin: 0;
}

/* Bottom bar */
.u2-footer-v2__bottom {
	padding: 20px 0;
}

.u2-footer-v2__bottom-inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (min-width: 640px) {
	.u2-footer-v2__bottom-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}
}

.u2-footer-v2__copy {
	font-family: var(--u2-font-mono);
	font-size: 13px; /* USI-DESIGN-FOOT2: 11→13 for readability */
	/* USI-A11Y-HARDEN (2026-06-09): 0.25 (~1.9:1) → 0.6 (~5.9:1 on #0C0D10) for AA legibility. */
	color: rgba(234,230,221,0.6);
	letter-spacing: 0.04em;
	margin: 0;
}

.u2-footer-v2__legal {
	display: flex;
	align-items: center;
	gap: 24px;
}

.u2-footer-v2__legal a {
	font-family: var(--u2-font-mono);
	font-size: 13px; /* USI-DESIGN-FOOT2: 11→13 for readability */
	color: rgba(234,230,221,0.6); /* USI-A11Y-HARDEN: 0.25→0.6 for AA */
	letter-spacing: 0.03em;
	text-decoration: none;
}

.u2-footer-v2__legal a:hover {
	color: rgba(234,230,221,0.85);
}

/* --- Breadcrumbs --- */
#breadcrumbs,
.breadcrumb-d,
.u2-breadcrumb {
	margin: 16px auto;
	padding-inline: clamp(16px, 4vw, 28px);
	max-width: var(--u2-container);
	color: var(--u2-muted);
	font-size: 0.88rem;
}

#breadcrumbs a,
.breadcrumb-d a {
	color: var(--u2-link);
	text-decoration: none;
	font-weight: 600;
}

#breadcrumbs a:hover {
	text-decoration: underline;
}

/* --- Shop: catalog layout --- */
.catalog-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}

@media (max-width: 1023px) {
	.catalog-layout {
		grid-template-columns: 1fr;
	}
}

.mobile-filter-bar {
	margin: 10px 0 0;
}

.usilenie-shop-filter-open {
	width: 100%;
	padding: 12px 14px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	color: var(--u2-text);
	font-weight: 700;
	cursor: pointer;
}

.usilenie-shop-filter-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 70;
}

body.usilenie-shop-filter-drawer-open {
	overflow: hidden;
}

.filter.filter--sidebar,
.u2-filter-sidebar {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 14px;
}

@media (max-width: 1023px) {
	#usilenie-shop-filter-panel {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: min(420px, 92vw);
		z-index: 80;
		transform: translateX(-102%);
		transition: transform 0.22s ease;
		overflow: auto;
		border-radius: 0;
	}
	#usilenie-shop-filter-panel.is-open {
		transform: translateX(0);
	}
}

.filter-panel .field-d,
.filter-panel .filter-d,
.u2-filter-panel .field-d {
	margin-bottom: 12px;
}

.filter-panel input[type="text"],
.filter-panel input[type="number"],
.filter-panel input[type="search"],
.filter-panel select,
.filter-panel textarea {
	width: 100%;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--u2-border);
	background: var(--u2-bg);
	color: var(--u2-text);
}

.filter-panel button,
.filter-panel .button-d {
	border-radius: 10px;
}

/* Product grid cards */
.product-grid,
.u2-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 1100px) {
	.product-grid,
	.u2-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.product-grid,
	.u2-product-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.p-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 520px;
	position: relative;
}

.p-card__media {
	position: relative;
	background: var(--u2-surface-2);
	border-bottom: 1px solid var(--u2-border);
}

.p-card__thumb {
	display: block;
	height: 220px;
}

.p-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--u2-surface-2);
}

.p-card__thumb--placeholder {
	display: grid;
	place-items: center;
	background:
		radial-gradient(ellipse 120% 80% at 20% 20%, rgba(204, 82, 0, 0.14), transparent 50%),
		linear-gradient(145deg, #f5f4f0, #eceae4);
}

.p-card__ph-icon {
	display: none;
}

.p-card__body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.p-card__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.25;
}

.p-card__title-link {
	color: var(--u2-text);
	text-decoration: none;
}

.p-card__title-link:hover {
	text-decoration: underline;
}

.p-card__excerpt {
	margin: 0;
	color: var(--u2-muted);
	font-size: 0.92rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.p-card__price-wrap {
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid var(--u2-border);
}

.p-card__price {
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--u2-text);
}

.p-card__price--rq {
	color: var(--u2-teal);
}

.p-card__price-hint {
	display: block;
	margin-top: 4px;
	font-size: 0.82rem;
	color: var(--u2-muted);
}

.p-card__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
}

.p-card__row2 {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.badge,
.p-card__pill {
	display: inline-flex;
	padding: 4px 8px;
	border-radius: 2px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--u2-surface-2);
	border: 1px solid var(--u2-border);
	color: var(--u2-muted);
}

.badge--accent {
	background: rgba(204, 82, 0, 0.1);
	border-color: rgba(204, 82, 0, 0.25);
	color: var(--u2-link);
}

/* --- Buy block --- */
.u2-buy__btn,
.button-d,
.offer-d__button {
	border-radius: 0; /* A3: CTA квадратные (Figma V2); снят !important-скругление */
	font-weight: 700 !important;
}

.u2-buy__btn--primary,
.offer-d__button_tocart {
	background: var(--u2-accent) !important;
	color: #fff !important;
	border: 1px solid transparent !important;
	box-shadow: 0 2px 12px rgba(204, 82, 0, 0.22) !important;
}

.u2-buy__qty-control .count-d__control {
	border-radius: 12px;
	border: 1px solid var(--u2-border);
	overflow: hidden;
	background: var(--u2-bg);
}

.count-d__input {
	background: transparent;
	color: var(--u2-text);
	border: 0;
	text-align: center;
}

.u2-buy__price-by-request {
	font-weight: 900;
	color: var(--u2-teal);
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.compare-ico {
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	color: var(--u2-text);
	cursor: pointer;
	padding: 8px 10px;
}

.compare-ico._active {
	border-color: rgba(204, 82, 0, 0.45);
	box-shadow: 0 0 0 1px rgba(204, 82, 0, 0.15) inset;
}

/* --- PDP --- */
.u2-pdp-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 22px;
	align-items: start;
}

@media (max-width: 980px) {
	.u2-pdp-layout {
		grid-template-columns: 1fr;
	}
}

.u2-pdp__gallery-card,
.gallery-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 12px;
}

.product-d__present .slide-d img,
.u2-pdp-stage-link img {
	border-radius: var(--u2-radius-sm);
	background: var(--u2-surface-2);
}

.gall-d__button {
	border-radius: 10px !important;
	border: 1px solid var(--u2-border) !important;
	background: var(--u2-surface) !important;
}

.u2-pdp__badge {
	display: inline-flex;
	padding: 6px 10px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.82rem;
	border: 1px solid var(--u2-border);
}

.u2-pdp__badge--ok {
	background: rgba(46, 125, 94, 0.12);
	border-color: rgba(46, 125, 94, 0.35);
	color: #1b5e3a;
}

.u2-pdp__badge--out {
	background: rgba(192, 57, 43, 0.1);
	border-color: rgba(192, 57, 43, 0.35);
	color: #922b21;
}

.u2-pdp__badge--muted {
	background: var(--u2-surface-2);
	color: var(--u2-muted);
}

/* --- Cart --- */
.u2-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 18px;
	align-items: start;
}

@media (max-width: 980px) {
	.u2-cart__layout {
		grid-template-columns: 1fr;
	}
}

.u2-cart__table-wrap {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	overflow: auto;
	background: var(--u2-surface);
	-webkit-overflow-scrolling: touch;
}

.u2-cart__summary-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 16px;
	display: grid;
	gap: 12px;
	position: sticky;
	top: calc(var(--u2-header-h) + 12px);
}

.empty-state {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 22px;
}

.empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.us-cart-line__grid {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 120px 70px minmax(0, 140px) 44px;
	gap: 12px;
	align-items: center;
	padding: 14px;
	border-bottom: 1px solid var(--u2-border);
}

@media (max-width: 900px) {
	.us-cart-line__grid {
		grid-template-columns: 72px minmax(0, 1fr);
		grid-template-areas:
			"img main"
			"qty side"
			"remove remove";
	}
	.us-cart-line__img {
		grid-area: img;
	}
	.us-cart-line__main {
		grid-area: main;
	}
	.us-cart-line__qty {
		grid-area: qty;
	}
	.us-cart-line__side {
		grid-area: side;
		justify-self: end;
	}
	.us-cart-line__remove {
		grid-area: remove;
		justify-self: end;
	}
	.us-cart-line__unit {
		display: none;
	}
}

.u2-cart__img-placeholder,
._dummyimage {
	min-height: 64px;
	border-radius: 10px;
	background: repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.06),
			rgba(255, 255, 255, 0.06) 8px,
			transparent 8px,
			transparent 16px
		),
		var(--u2-surface-2);
	border: 1px solid var(--u2-border);
}

/* --- Compare --- */
.u2-compare-empty,
.u2-compare__head {
	max-width: 980px;
	margin-inline: auto;
	padding: 22px 0;
}

.u2-compare-empty {
	text-align: center;
	padding: 40px 16px;
}

.u2-compare-empty__actions,
.u2-compare__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.u2-compare__section {
	margin-top: 18px;
}

.u2-compare-clear {
	margin: 16px 0 0;
}

/* --- Feedback --- */
.u2-feedback-page {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}

.u2-feedback-page__admin-text {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

.request-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

@media (max-width: 980px) {
	.request-layout {
		grid-template-columns: 1fr;
	}
}

.request-steps {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 14px;
}

.request-step {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--u2-border);
}

.request-step:last-child {
	border-bottom: 0;
}

/* PHASE4 D3a — stack step label over description (were inline spans → glued "ЗаявкаОставьте заявку…") */
.request-step-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.request-step-label {
	font-weight: 600;
	color: var(--u2-text);
	line-height: 1.25;
}
.request-step-desc {
	color: var(--u2-muted);
	font-size: 13px;
	line-height: 1.4;
}

.request-form-card,
.u2-feedback__form-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 18px;
}

.u2-feedback__diafan-form .field-d {
	margin-bottom: 12px;
}

.u2-feedback__diafan-form input[type="text"],
.u2-feedback__diafan-form input[type="email"],
.u2-feedback__diafan-form input[type="tel"],
.u2-feedback__diafan-form textarea,
.u2-feedback__diafan-form select {
	width: 100%;
	padding: 10px 12px;
	border-radius: 0;
	border: 1px solid var(--u2-border);
	background: #ECEAE4;
	color: var(--u2-text);
}

/* --- Price / docs / objects (static pages) --- */
.u2-price-page {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: clamp(18px, 3vw, 28px) clamp(16px, 4vw, 28px) 48px;
}

.u2-docs-page {
	max-width: none;
	margin-inline: 0;
	padding: 0;
}

.u2-objects-page {
	max-width: none;
	margin-inline: 0;
	padding: clamp(18px, 3vw, 28px) 0 0;
}

.u2-page-head__eyebrow {
	margin: 0 0 10px;
	font-size: 0.82rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-muted);
	font-weight: 800;
}

.u2-page-head__title {
	margin: 0 0 12px;
	font-size: clamp(1.55rem, 2.6vw, 2.1rem);
	font-weight: 900;
	letter-spacing: -0.02em;
}

.u2-page-head__lead {
	margin: 0 0 16px;
	color: var(--u2-muted);
	max-width: 78ch;
}

.u2-page-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.u2-price-section,
.u2-docs-tabs {
	margin-top: 22px;
}

.u2-price-grid,
.u2-docs-grid,
.u2-objects-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width: 980px) {
	.u2-price-grid,
	.u2-docs-grid,
	.u2-objects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.u2-price-grid,
	.u2-docs-grid,
	.u2-objects-grid {
		grid-template-columns: 1fr;
	}
}

.u2-price-card,
.u2-doc-card,
.u2-object-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 16px;
	display: grid;
	gap: 8px;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
}

.u2-price-card:hover,
.u2-doc-card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
}

.u2-docs-tab {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--u2-border);
	margin-right: 8px;
	margin-bottom: 8px;
	text-decoration: none;
	color: var(--u2-text);
	font-weight: 700;
}

.u2-docs-tab--active {
	background: rgba(59, 130, 246, 0.16);
	border-color: rgba(59, 130, 246, 0.35);
}

.usilenie-objects-live__hero {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 18px;
	padding: clamp(18px, 3vw, 26px);
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(34, 211, 238, 0.06));
	margin-bottom: 18px;
}

@media (max-width: 900px) {
	.usilenie-objects-live__hero {
		grid-template-columns: 1fr;
	}
}

.usilenie-objects__filters {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	padding: 14px;
	margin-bottom: 16px;
}

.usilenie-objects__filter-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 980px) {
	.usilenie-objects__filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.usilenie-objects__filter-grid {
		grid-template-columns: 1fr;
	}
}

.usilenie-objects__label {
	display: block;
	font-size: 0.82rem;
	font-weight: 800;
	color: var(--u2-muted);
	margin-bottom: 6px;
}

.usilenie-objects__select,
.usilenie-docs__search-input {
	width: 100%;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--u2-border);
	background: var(--u2-bg);
	color: var(--u2-text);
}

/* --- Category SEO readmore --- */
.u2-category-seo__rich--collapsed {
	max-height: 840px;
	overflow: hidden;
	position: relative;
}

.u2-category-seo__rich--collapsed::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 72px;
	background: linear-gradient(180deg, transparent, var(--u2-bg));
}

.u2-category-seo__more {
	margin-top: 10px;
}

/* --- Lightbox --- */
.u2-lightbox {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	place-items: center;
	padding: 18px;
}

.u2-lightbox__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.72);
	cursor: pointer;
}

.u2-lightbox__dialog {
	position: relative;
	z-index: 1;
	max-width: min(1120px, 96vw);
	max-height: 86vh;
}

.u2-lightbox__img {
	display: block;
	max-height: 86vh;
	width: auto;
	margin-inline: auto;
	border-radius: 12px;
	box-shadow: var(--u2-shadow);
}

.u2-lightbox__close {
	position: absolute;
	top: -12px;
	right: -12px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	color: var(--u2-text);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

/* === V2 Patch: Photo category cards === */
.u2-cat-card__media--photo {
	background: var(--u2-surface-2);
}

.u2-cat-card__media--photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.u2-cat-card__media--photo img[src$=".svg"] {
	object-fit: contain;
	object-position: center;
	padding: clamp(8px, 2vw, 20px);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(241, 240, 236, 0.9));
}

.u2-cat-card__media--photo::after {
	opacity: 0.22;
	background-image: linear-gradient(180deg, transparent 50%, rgba(12, 13, 16, 0.28));
}

/* === V2 Patch: Hero stat numbers === */
.u2-stat__num {
	font-family: var(--u2-font-heading);
	font-size: 2rem;
	font-weight: 800;
	color: var(--u2-text);
	line-height: 1;
	letter-spacing: -0.03em;
}

.u2-stat--accent .u2-stat__num {
	color: var(--u2-accent);
}

.u2-stat:has(.u2-stat__num) .u2-stat__k {
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--u2-muted);
}

/* === V2 Patch: Object card year-chip accent === */
.u2-obj-card__tags span:last-child:not(:first-child) {
	background: rgba(204, 82, 0, 0.08);
	border-color: rgba(204, 82, 0, 0.2);
	color: var(--u2-link);
}

/* === Code pass: commercial density + shop vitrine parity === */
.u2-header-cta.site-header__cta {
	font-weight: 700;
	box-shadow: 0 6px 20px rgba(204, 82, 0, 0.22);
}

.page-home .u2-hero__title,
.page-home .hero__title {
	font-size: clamp(2.25rem, 4.8vw, 3.65rem);
	font-weight: 800;
	letter-spacing: -0.035em;
}

.page-home .u2-hero__lead {
	max-width: 56ch;
	font-size: clamp(1.02rem, 1.45vw, 1.14rem);
}

.u2-hero__panel {
	min-height: 300px;
}

.u2-hero__eyebrow-alt {
	margin: 0 0 10px;
}

.u2-hero--catalog .u2-hero__title {
	font-size: clamp(2.05rem, 4.2vw, 3.25rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.u2-hero--catalog .u2-hero__lead {
	max-width: 54ch;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
}

.u2-hero--catalog .u2-hero__layout--catalog {
	margin-bottom: 0;
}

.u2-hero__aside--catalog .u2-hero__panel--catalog {
	min-height: 240px;
}

.u2-shop-vitrine-section {
	padding-top: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(40px, 5.5vw, 80px);
	background: linear-gradient(180deg, var(--u2-bg) 0%, rgba(236, 234, 228, 0.92) 55%, var(--u2-bg) 100%);
}

.u2-shop-chips-row {
	margin-top: 0;
	gap: 10px;
}

.u2-shop-chips-row .chip {
	border-radius: 999px;
	padding: 10px 16px;
	font-size: 0.9rem;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.u2-shop-cat-grid .u2-cat-card {
	min-height: 100%;
}

.u2-cat-card__media-fallback {
	position: absolute;
	inset: 0;
	display: block;
	background:
		linear-gradient(135deg, rgba(204, 82, 0, 0.07) 0%, transparent 42%),
		linear-gradient(180deg, #f5f4f0 0%, #e8e6e0 100%);
}

.u2-cat-card__media-fallback::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.12;
	background-image:
		repeating-linear-gradient(90deg, var(--u2-text) 0, var(--u2-text) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(0deg, var(--u2-text) 0, var(--u2-text) 1px, transparent 1px, transparent 18px);
}

.u2-adv-grid {
	gap: 18px;
}

.u2-adv-card {
	position: relative;
	padding: 22px 22px 24px;
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: linear-gradient(180deg, #fff 0%, var(--u2-surface-2) 100%);
	box-shadow: 0 14px 36px rgba(12, 13, 16, 0.06);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.u2-adv-card:hover {
	border-color: rgba(204, 82, 0, 0.28);
	box-shadow: 0 20px 44px rgba(12, 13, 16, 0.09);
	transform: translateY(-2px);
}

.u2-adv-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 12px;
	border-radius: 10px;
	font-family: var(--u2-font-heading);
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--u2-accent);
	background: rgba(204, 82, 0, 0.1);
	border: 1px solid rgba(204, 82, 0, 0.22);
}

.u2-adv-card__title {
	margin: 0 0 8px;
	font-size: 1.08rem;
	font-weight: 700;
	font-family: var(--u2-font-heading);
	letter-spacing: -0.02em;
}

.u2-adv-card__text {
	margin: 0;
	color: var(--u2-muted);
	font-size: 0.92rem;
	line-height: 1.55;
}

.u2-cta-band--shop {
	background: linear-gradient(90deg, rgba(204, 82, 0, 0.07) 0%, var(--u2-surface) 38%, var(--u2-surface) 100%);
	border-block-color: rgba(204, 82, 0, 0.15);
}

.u2-svc-card {
	border-width: 1px;
	box-shadow: 0 12px 32px rgba(12, 13, 16, 0.06);
}

.u2-svc-card:hover {
	box-shadow: 0 18px 40px rgba(12, 13, 16, 0.09);
}

.u2-doc-card {
	box-shadow: 0 10px 28px rgba(12, 13, 16, 0.05);
	border-radius: var(--u2-radius);
}

.u2-doc-card:hover {
	box-shadow: 0 16px 36px rgba(12, 13, 16, 0.08);
	transform: translateY(-2px);
}

.page-home .u2-cta-band {
	background: linear-gradient(180deg, #faf9f7 0%, var(--u2-surface) 100%);
}

.p-card__title-link--clamp {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.u2-subcat-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	overflow: hidden;
	background: var(--u2-surface);
	box-shadow: 0 8px 24px rgba(12, 13, 16, 0.05);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.u2-subcat-card:hover {
	border-color: rgba(204, 82, 0, 0.25);
	box-shadow: 0 14px 32px rgba(12, 13, 16, 0.08);
	text-decoration: none;
}

.u2-subcat-card__media {
	background: var(--u2-surface-2);
	min-height: 120px;
}

.u2-subcat-card__media figure,
.u2-subcat-card__media ._fit {
	min-height: 140px;
	background: var(--u2-surface-2);
}

.u2-subcat-card__media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	min-height: 140px;
}

.site-nav-panel__sheet {
	padding-bottom: 24px;
}

/* --- Figma V2: eyebrow bar + hero (preview heroBg #0C0D10, all viewports) --- */
.u2-hero__eyebrow-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
}

.u2-hero__eyebrow-wrap .u2-hero__eyebrow-alt {
	margin: 0;
}

.u2-hero__eyebrow-wrap .hero__eyebrow {
	margin: 0;
}

.u2-hero__eyebrow-accent {
	flex: none;
	width: 36px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--u2-accent), rgba(204, 82, 0, 0.35));
}

.page-home .u2-hero__eyebrow.hero__eyebrow,
.page-shop .u2-hero__eyebrow-alt {
	color: var(--u2-accent);
	letter-spacing: 0.14em;
}

.page-home .u2-hero--home,
.page-shop .u2-hero--home.u2-hero--catalog {
	background: #0c0d10;
	background-image: linear-gradient(165deg, rgba(15, 18, 24, 0.92) 0%, #0c0d10 48%, #12161d 100%);
	color: var(--u2-text-on-dark);
	border-bottom: 1px solid #2a2e36;
}

.page-home .u2-hero__bg,
.page-shop .u2-hero__bg {
	/* Фон hero: слои `jp` + radial из `_figma_v2_preview` / bundle `hm()` */
	background-image:
		repeating-linear-gradient(
			45deg,
			rgba(255, 255, 255, 0.016) 0,
			rgba(255, 255, 255, 0.016) 1px,
			transparent 1px,
			transparent 18px
		),
		repeating-linear-gradient(
			-45deg,
			rgba(255, 255, 255, 0.016) 0,
			rgba(255, 255, 255, 0.016) 1px,
			transparent 1px,
			transparent 18px
		),
		radial-gradient(ellipse at 55% 35%, rgba(204, 82, 0, 0.06) 0%, transparent 55%),
		radial-gradient(ellipse 900px 460px at 78% 12%, rgba(204, 82, 0, 0.14), transparent 58%),
		radial-gradient(ellipse 680px 400px at 12% 88%, rgba(46, 125, 94, 0.06), transparent 50%);
	background-size: auto, auto, auto, auto, auto;
	opacity: 1;
}

.page-home .u2-hero__title,
.page-home .hero__title,
.page-shop .u2-hero__title {
	color: #fff;
	font-weight: 800;
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.35);
}

.page-home .u2-hero__lead,
.page-home .hero__lead,
.page-shop .u2-hero__lead {
	color: var(--u2-muted-on-dark);
}

.page-home .u2-stat,
.page-shop .u2-stat {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.14);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.page-home .u2-stat__k,
.page-shop .u2-stat__k {
	color: var(--u2-text-on-dark);
}

.page-home .u2-stat__v,
.page-shop .u2-stat__v {
	color: var(--u2-muted-on-dark);
}

.page-home .u2-stat--accent,
.page-shop .u2-stat--accent {
	background: linear-gradient(135deg, rgba(204, 82, 0, 0.22), rgba(255, 255, 255, 0.05));
	border-color: rgba(204, 82, 0, 0.45);
}

.page-home .u2-hero__panel,
.page-shop .u2-hero__panel {
	background: linear-gradient(155deg, rgba(20, 24, 30, 0.55) 0%, rgba(12, 13, 16, 0.85) 100%);
	border-color: rgba(255, 255, 255, 0.14);
	box-shadow: 0 28px 56px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.page-home .u2-hero__panel-title,
.page-shop .u2-hero__panel-title {
	color: #fff;
}

.page-home .u2-hero__panel-list li,
.page-shop .u2-hero__panel-list li {
	color: var(--u2-muted-on-dark);
}

.page-home .u2-hero__panel-label,
.page-shop .u2-hero__panel-label {
	color: var(--u2-accent);
}

.page-home .u2-btn--outline,
.page-shop .u2-btn--outline {
	color: var(--u2-text-on-dark);
	border-color: rgba(255, 255, 255, 0.38);
	background: rgba(255, 255, 255, 0.04);
}

.page-home .u2-btn--outline:hover,
.page-shop .u2-btn--outline:hover {
	background: rgba(204, 82, 0, 0.18);
	border-color: var(--u2-accent);
	color: #fff;
}

@media (max-width: 1100px) {
	.u2-topbar {
		display: none;
	}
	.site-header__phone-link {
		display: none;
	}
	.site-header__toolbar .u2-header-cta {
		display: none;
	}
	.site-header__toolbar .icon-btn {
		display: none;
	}
}

@media (min-width: 961px) {
	.page-home .u2-hero--home,
	.page-shop .u2-hero--home.u2-hero--catalog {
		padding-top: clamp(48px, 6vw, 88px);
		padding-bottom: clamp(56px, 7vw, 104px);
	}

	.page-home .u2-hero__bg,
	.page-shop .u2-hero__bg {
		opacity: 1;
		background-image:
			repeating-linear-gradient(
				45deg,
				rgba(255, 255, 255, 0.018) 0,
				rgba(255, 255, 255, 0.018) 1px,
				transparent 1px,
				transparent 18px
			),
			repeating-linear-gradient(
				-45deg,
				rgba(255, 255, 255, 0.018) 0,
				rgba(255, 255, 255, 0.018) 1px,
				transparent 1px,
				transparent 18px
			),
			radial-gradient(ellipse at 55% 32%, rgba(204, 82, 0, 0.07) 0%, transparent 55%),
			radial-gradient(ellipse 1100px 560px at 82% 8%, rgba(204, 82, 0, 0.22), transparent 55%),
			radial-gradient(ellipse 900px 480px at 10% 92%, rgba(46, 125, 94, 0.08), transparent 50%);
		background-size: auto, auto, auto, auto, auto;
	}

	.u2-hero__eyebrow-accent {
		width: 44px;
		height: 4px;
	}
}

/* Figma V2: fixed overlay header on home at desktop; shop keeps sticky */

/* ═══ Home V2 (Figma src/HomePage.tsx → PHP) — только body.page-home ═══ */
body.page-home .u2-shell main#main.u2-home,
body.page-home main#main.u2-home {
	background: #f4f3f0;
	padding-block: 0;
	overflow-x: clip;
}

body.page-home .u2-home-hero {
	position: relative;
	overflow: hidden;
	overflow-x: clip;
	box-sizing: border-box;
	background: #0c0d10;
	color: #eae6dd;
	/* PHASE2 (2026-06-04): was calc(100svh + 80px) — at tall viewports (≥~1080) the hero overflowed
	   the fold and, with the stats pinned to the bottom (margin-top:auto, removed below), pushed the
	   numbers below the fold + opened a big void under the CTA. Size the hero to its content so the
	   eyebrow sits under the header and the stats sit right under the CTA (Figma rhythm @1920). */
	min-height: auto;
	display: flex;
	flex-direction: column;
}

@media (max-width: 1100px) {
	body.page-home .u2-home-hero {
		min-height: calc(100svh - 72px);
	}
}

body.page-home .u2-home-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	/* USI-TPLCFG-HERO (2026-06-07): removed the 45/-45deg repeating-linear-gradient cross-hatch
	   to match the page-hero (unified clean bg = dark base + radial vignette + accent glow). */
	background-image:
		radial-gradient(ellipse 120% 80% at 50% 100%, rgba(0, 0, 0, 0.45) 0%, transparent 52%),
		radial-gradient(ellipse at 55% 32%, rgba(204, 82, 0, 0.11) 0%, transparent 58%);
}

body.page-home .u2-home-hero__inner {
	position: relative;
	z-index: 1;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	max-width: calc(var(--u2-container) + 56px);
	margin-inline: auto;
	/* PHASE2: trimmed top band (was clamp(100,9.5vw,130) → ~130px @1920 dead space над эйброу) and
	   gave the content-sized hero comfortable bottom breathing room. Eyebrow now sits ~88px below
	   the hero top @1920 (was 130). @media rules below only adjust padding-inline. */
	/* USI-TPLCFG-HERO (2026-06-07): desktop top band trimmed 88→~52 (header→eyebrow dead space).
	   Mobile header-clearance (≤600 the body padding-top is 0 → header overlays, eyebrow was -7px
	   behind it) + bottom trim are in the ≤600 override below. */
	padding: clamp(40px, 3vw, 52px) clamp(20px, 4vw, 28px) clamp(48px, 4vw, 64px);
}

@media (max-width: 600px) {
	body.page-home .u2-home-hero__inner {
		/* PHASE4 P1: body.u2-shell now offsets the fixed header on mobile (≤600), so the prior
		   calc(var(--u2-header-h) + 28px) here double-compensated → eyebrow gap ballooned to ~99px.
		   Plain small top band now → eyebrow sits ~30px under the header, matching /search/. */
		padding-top: clamp(28px, 7vw, 36px);
		padding-bottom: clamp(32px, 8vw, 44px);
	}
}

@media (min-width: 1024px) {
	body.page-home .u2-home-hero__inner {
		padding-inline: clamp(40px, 5vw, 64px);
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-hero__inner {
		padding-inline: clamp(56px, 6vw, 96px);
	}
}

body.page-home .u2-home-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 28px;
}

body.page-home .u2-home-hero__eyebrow-line {
	width: 36px;
	height: 1px;
	flex-shrink: 0;
	background: #cc5200;
}

body.page-home .u2-home-hero__eyebrow-text {
	margin: 0;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	font-weight: 400;
	color: #cc5200;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

body.page-home .u2-home-hero__h1 {
	margin: 0 0 24px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.85rem, calc(4.2vw + 1.1rem), 4.25rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: manual;
	max-width: 100%;
}

body.page-home .u2-home-hero__h1-a {
	color: #eae6dd;
}

body.page-home .u2-home-hero__h1-b {
	color: rgba(234, 230, 221, 0.42);
}

body.page-home .u2-home-hero__lead {
	margin: 0 0 28px;
	max-width: 520px;
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	line-height: 1.75;
	color: rgba(234, 230, 221, 0.5);
}

body.page-home .u2-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}

body.page-home .u2-home-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

body.page-home .u2-home-hero__btn--primary {
	padding: 14px 28px;
	background: #cc5200;
	color: #fff;
	border: 1px solid transparent;
}

body.page-home .u2-home-hero__btn--primary:hover {
	background: #a84200;
	color: #fff;
}

body.page-home .u2-home-hero__btn--ghost {
	padding: 13px 24px;
	background: transparent;
	color: rgba(234, 230, 221, 0.75);
	border: 1px solid rgba(234, 230, 221, 0.18);
}

body.page-home .u2-home-hero__btn--ghost:hover {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

body.page-home .u2-home-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	/* PHASE2: was margin-top:auto (pinned stats to the hero bottom → «провал под CTA» + below the
	   fold on a content-sized hero). Sit the numbers directly under the CTA (Figma rhythm). */
	margin-top: clamp(28px, 3vw, 44px);
}

body.page-home .u2-home-hero__stat {
	flex: 0 0 auto;
	padding-right: 28px;
	margin-right: 28px;
	border-right: 1px solid rgba(255, 255, 255, 0.09);
}

body.page-home .u2-home-hero__stat--last {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

@media (max-width: 640px) {
	body.page-home .u2-home-hero__stat {
		flex: 1 1 45%;
		border-right: none;
		margin-right: 0;
		padding-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
		padding-bottom: 12px;
		margin-bottom: 12px;
	}
}

body.page-home .u2-home-hero__stat-v {
	display: block;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: clamp(1.2rem, 2.6vw, 1.65rem);
	font-weight: 700;
	color: #eae6dd;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin-bottom: 6px;
}

body.page-home .u2-home-hero__stat-k {
	display: block;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 10px;
	color: rgba(234, 230, 221, 0.35);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.45;
}

body.page-home .u2-home-cat {
	background: #f4f3f0;
	padding: 80px 0 0;
}

body.page-home .u2-home-cat__inner {
	width: 100%;
	max-width: calc(var(--u2-container) + 56px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 28px);
}

@media (min-width: 1024px) {
	body.page-home .u2-home-cat__inner {
		padding-inline: clamp(40px, 5vw, 64px);
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-cat__inner {
		padding-inline: clamp(56px, 6vw, 96px);
	}
}

body.page-home .u2-home-cat__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin-bottom: 36px;
}

body.page-home .u2-home-cat__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

body.page-home .u2-home-cat__eyebrow-line {
	width: 24px;
	height: 2px;
	background: #cc5200;
}

body.page-home .u2-home-cat__eyebrow-label {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.page-home .u2-home-cat__title {
	margin: 0;
	font-family: var(--u2-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

body.page-home .u2-home-cat__all {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 13px;
	color: #cc5200;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
}

body.page-home .u2-home-cat__all:hover {
	text-decoration: underline;
}

body.page-home .u2-home-cat__grid {
	display: grid;
	grid-template-columns: 1fr;
	border-left: 1px solid #e2e0da;
	border-top: 1px solid #e2e0da;
}

@media (min-width: 768px) {
	body.page-home .u2-home-cat__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-cat__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.page-home .u2-home-cat-cell {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	background: #fff;
	border-right: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	color: inherit;
	transition: border-color 0.15s ease;
}

body.page-home .u2-home-cat-cell:hover {
	border-right-color: #cc5200;
}

body.page-home .u2-home-cat-cell__accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #cc5200;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s ease;
	z-index: 2;
}

body.page-home .u2-home-cat-cell:hover .u2-home-cat-cell__accent {
	transform: scaleX(1);
}

body.page-home .u2-home-cat-cell__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #eceae4;
	/* USI-CATIMG-FIX (2026-06-09): overflow:hidden + absolutely-positioned img below force the box to
	   honour aspect-ratio:16/9 for EVERY tile. Before, the in-flow <img height:100%> let each tile size
	   to its source aspect (square cat-image → taller tile = «больше»); now all category tiles render an
	   identical 16:9 box with object-fit:cover, regardless of source dimensions. */
	overflow: hidden;
}

body.page-home .u2-home-cat-cell__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.page-home .u2-home-cat-cell__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 24px 28px 28px;
}

body.page-home .u2-home-cat-cell__en {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

body.page-home .u2-home-cat-cell__h {
	margin: 0 0 10px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

body.page-home .u2-home-cat-cell__text {
	margin: 0 0 20px;
	flex: 1;
	font-size: 15px;
	color: #6e6e78;
	line-height: 1.65;
}

body.page-home .u2-home-cat-cell__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

body.page-home .u2-home-cat-cell__meta {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 12px;
	color: var(--u2-muted); /* USI-A11Y-HARDEN: was #b0aea8 (~2.2:1) → canon muted #6e6e78 */
	letter-spacing: 0.04em;
}

body.page-home .u2-home-cat-cell__go {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #cc5200;
}

body.page-home .u2-home-svc {
	background: #f4f3f0;
	padding: 80px 0;
}

body.page-home .u2-home-svc__inner {
	width: 100%;
	max-width: calc(var(--u2-container) + 56px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 28px);
}

@media (min-width: 1024px) {
	body.page-home .u2-home-svc__inner {
		padding-inline: clamp(40px, 5vw, 64px);
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-svc__inner {
		padding-inline: clamp(56px, 6vw, 96px);
	}
}

body.page-home .u2-home-svc__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

body.page-home .u2-home-svc__eyebrow-line {
	width: 24px;
	height: 2px;
	background: #cc5200;
}

body.page-home .u2-home-svc__eyebrow-label {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.page-home .u2-home-svc__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin-bottom: 36px;
}

body.page-home .u2-home-svc__title {
	margin: 0;
	font-family: var(--u2-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

body.page-home .u2-home-svc__all {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 13px;
	color: #cc5200;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
}

body.page-home .u2-home-svc__all:hover {
	text-decoration: underline;
}

body.page-home .u2-home-svc__grid {
	display: grid;
	grid-template-columns: 1fr;
	border-left: 1px solid #e2e0da;
	border-top: 1px solid #e2e0da;
}

@media (min-width: 768px) {
	body.page-home .u2-home-svc__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-svc__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.page-home .u2-home-svc-cell {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 32px;
	background: #fff;
	border-right: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: background 0.15s ease;
}

body.page-home .u2-home-svc-cell::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 3px;
	background: #cc5200;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.22s ease;
}

body.page-home .u2-home-svc-cell:hover {
	background: #fafaf9;
}

body.page-home .u2-home-svc-cell:hover::before {
	transform: scaleY(1);
}

body.page-home .u2-home-svc-cell__num {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 13px;
	color: #cc5200;
	letter-spacing: 0.1em;
	margin-bottom: 16px;
}

body.page-home .u2-home-svc-cell__h {
	margin: 0 0 12px;
	font-family: var(--u2-font-heading);
	font-size: 20px;
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.025em;
	line-height: 1.3;
	flex: 1;
}

body.page-home .u2-home-svc-cell__p {
	margin: 0 0 20px;
	font-size: 16px;
	color: #6e6e78;
	line-height: 1.7;
}

body.page-home .u2-home-svc-cell__go {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #cc5200;
}

body.page-home .u2-home-obj {
	background: #eeece8;
	padding: 80px 0;
}

body.page-home .u2-home-obj__inner {
	width: 100%;
	max-width: calc(var(--u2-container) + 56px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 28px);
}

@media (min-width: 1024px) {
	body.page-home .u2-home-obj__inner {
		padding-inline: clamp(40px, 5vw, 64px);
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-obj__inner {
		padding-inline: clamp(56px, 6vw, 96px);
	}
}

body.page-home .u2-home-obj__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

body.page-home .u2-home-obj__eyebrow-line {
	width: 24px;
	height: 2px;
	background: #cc5200;
}

body.page-home .u2-home-obj__eyebrow-label {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.page-home .u2-home-obj__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin-bottom: 36px;
}

body.page-home .u2-home-obj__title {
	margin: 0;
	font-family: var(--u2-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

body.page-home .u2-home-obj__all {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 13px;
	color: #cc5200;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
}

body.page-home .u2-home-obj__all:hover {
	text-decoration: underline;
}

body.page-home .u2-home-obj__grid {
	display: grid;
	grid-template-columns: 1fr;
	border-left: 1px solid #e2e0da;
	border-top: 1px solid #e2e0da;
}

@media (min-width: 900px) {
	body.page-home .u2-home-obj__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.page-home .u2-home-obj-cell {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 32px;
	background: #fff;
	border-right: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	text-decoration: none;
	color: inherit;
	transition: background 0.15s ease;
	overflow: hidden;
}

body.page-home .u2-home-obj-cell__accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #cc5200;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s ease;
}

body.page-home .u2-home-obj-cell:hover {
	background: #fafaf9;
}

body.page-home .u2-home-obj-cell:hover .u2-home-obj-cell__accent {
	transform: scaleX(1);
}

body.page-home .u2-home-obj-cell__tags {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

body.page-home .u2-home-obj-cell__tags span {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.page-home .u2-home-obj-cell__h {
	margin: 0 0 8px;
	font-family: var(--u2-font-heading);
	font-size: 20px;
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.025em;
	line-height: 1.3;
	flex: 1;
}

body.page-home .u2-home-obj-cell__p {
	margin: 0 0 20px;
	font-size: 16px;
	color: #6e6e78;
	line-height: 1.6;
}

body.page-home .u2-home-obj-cell__quote {
	padding: 10px 16px;
	background: #f4f3f0;
	border-left: 3px solid #cc5200;
	margin-bottom: 16px;
}

body.page-home .u2-home-obj-cell__quote span {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 14px;
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: 0.03em;
}

body.page-home .u2-home-obj-cell__go {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #cc5200;
}

body.page-home .u2-home-cta {
	position: relative;
	overflow: hidden;
	background: #0c0d10;
	color: #eae6dd;
	padding: 96px 0;
}

body.page-home .u2-home-cta__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(
			45deg,
			rgba(255, 255, 255, 0.016) 0,
			rgba(255, 255, 255, 0.016) 1px,
			transparent 1px,
			transparent 18px
		),
		repeating-linear-gradient(
			-45deg,
			rgba(255, 255, 255, 0.016) 0,
			rgba(255, 255, 255, 0.016) 1px,
			transparent 1px,
			transparent 18px
		);
}

body.page-home .u2-home-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 40px 48px;
	width: 100%;
	max-width: calc(var(--u2-container) + 56px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 28px);
}

@media (min-width: 1024px) {
	body.page-home .u2-home-cta__inner {
		padding-inline: clamp(40px, 5vw, 64px);
	}
}

@media (min-width: 1280px) {
	body.page-home .u2-home-cta__inner {
		padding-inline: clamp(56px, 6vw, 96px);
	}
}

body.page-home .u2-home-cta__copy {
	max-width: 560px;
	min-width: 0;
}

body.page-home .u2-home-cta__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

body.page-home .u2-home-cta__eyebrow-line {
	width: 24px;
	height: 1px;
	background: #cc5200;
}

body.page-home .u2-home-cta__eyebrow span:last-child {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.page-home .u2-home-cta__h2 {
	margin: 0 0 18px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.8rem, 4vw, 3.2rem);
	font-weight: 700;
	color: #eae6dd;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

body.page-home .u2-home-cta__lead {
	margin: 0 0 16px;
	font-size: clamp(1rem, 2vw, 1.125rem);
	color: rgba(234, 230, 221, 0.45);
	line-height: 1.7;
}

body.page-home .u2-home-cta__links {
	margin: 0;
	font-size: 14px;
}

body.page-home .u2-home-cta__links a {
	color: rgba(234, 230, 221, 0.55);
	text-decoration: none;
}

body.page-home .u2-home-cta__links a:hover {
	color: #cc5200;
	text-decoration: underline;
}

body.page-home .u2-home-cta__links-sep {
	margin: 0 8px;
	color: rgba(234, 230, 221, 0.25);
}

body.page-home .u2-home-cta__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex-shrink: 0;
}

body.page-home .u2-home-cta__actions .u2-home-hero__btn--primary {
	padding: 18px 44px;
	font-size: 16px;
}

body.page-home .u2-home-cta__tel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: rgba(234, 230, 221, 0.55);
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: border-color 0.15s ease, color 0.15s ease;
}

body.page-home .u2-home-cta__tel:hover {
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* ═══ Visual reset pass (2026-05-11): shell, chrome, cart, inner pages ═══ */
.u2-cart__order-submit-native {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.page-product #main,
body.page-category #main,
body.page-cart #main,
body.page-compare #main,
body.page-feedback #main {
	background: linear-gradient(180deg, #e9e7e1 0%, #f1f0ec 32%, #f1f0ec 100%);
}

/* Hero-integrated breadcrumbs — no separate band, rendered inside hero templates */
/* Hero-integrated breadcrumbs — no separate band, rendered inside hero templates */
#breadcrumbs.u2-hero-crumbs,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d *,
#breadcrumbs.u2-hero-crumbs a,
#breadcrumbs.u2-hero-crumbs span {
	font-size: 12px;
	font-family: var(--u2-font-mono);
	font-weight: 400;
	text-transform: none;
	letter-spacing: .055em;
}

#breadcrumbs.u2-hero-crumbs .breadcrumb-d,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d * {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
	float: none;
	position: static;
}

#breadcrumbs.u2-hero-crumbs {
	margin: 0 0 36px;
	padding: 0;
	max-width: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.2;
	color: rgba(255,255,255,.48);
}

#breadcrumbs.u2-hero-crumbs a {
	color: rgba(255,255,255,.48);
	text-decoration: none;
}

#breadcrumbs.u2-hero-crumbs a:hover {
	color: #fff;
}

#breadcrumbs.u2-hero-crumbs .breadcrumb-d:last-child,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d:last-child * {
	color: rgba(255,255,255,.68);
}

@media (max-width: 768px) {
	#breadcrumbs.u2-hero-crumbs {
		margin-bottom: 20px;
		gap: 6px;
	}
}

body.page-feedback .feedback-d,
body.page-feedback .js_form_feedback {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

body.page-feedback .u2-feedback__form-card,
body.page-feedback .field-d {
	border-radius: var(--u2-radius);
}

.u2-pdp__gallery-thumbs-col .gall-d__nav {
	display: none;
}

/* --- Figma V2 transplant: structural layout (u2-fv2-*) — PHP-driven sections --- */
body.u2-shell .diafan_reminder {
	display: none !important;
}

.u2-fv2-border-grid {
	display: grid;
	border-left: 1px solid #e2e0da;
	border-top: 1px solid #e2e0da;
	grid-template-columns: 1fr;
}

@media (min-width: 720px) {
	.u2-fv2-border-grid--home-cats,
	.u2-fv2-border-grid--home-svc {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1180px) {
	.u2-fv2-border-grid--home-cats,
	.u2-fv2-border-grid--home-svc,
	.u2-fv2-border-grid--home-obj,
	.u2-fv2-border-grid--fb {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 640px) {
	.u2-fv2-border-grid--shop-cats {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1000px) {
	.u2-fv2-border-grid--shop-cats {
		grid-template-columns: repeat(3, 1fr);
	}
}

.u2-fv2-border-grid--shop-cats .u2-cat-card {
	border-radius: 0;
	box-shadow: none;
	border: none;
}

.u2-fv2-border-grid--shop-cats .u2-cat-card:hover {
	transform: none;
}

.u2-fv2-cell {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-right: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	color: inherit;
	overflow: hidden;
	transition: background 0.15s ease;
}

a.u2-fv2-cell:hover {
	background: #fafaf9;
}

.u2-fv2-cell__accent-top {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--u2-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.22s ease;
	z-index: 2;
}

a.u2-fv2-cell:hover .u2-fv2-cell__accent-top {
	transform: scaleX(1);
}

.u2-fv2-cell__accent-left {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--u2-accent);
	transform: scaleY(0);
	transform-origin: top center;
	transition: transform 0.22s ease;
}

.u2-fv2-cell--svc:hover .u2-fv2-cell__accent-left {
	transform: scaleY(1);
}

.u2-fv2-cell__media {
	display: block;
}

.u2-fv2-cell__body {
	padding: 24px 28px 28px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.u2-fv2-cell__eyebrow {
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.u2-fv2-cell__title {
	margin: 0 0 10px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.1rem, 1.9vw, 1.35rem);
	font-weight: 700;
	color: var(--u2-text);
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.u2-fv2-cell__text {
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--u2-muted);
	line-height: 1.65;
	flex: 1;
}

.u2-fv2-cell__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.u2-fv2-cell__meta {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: var(--u2-muted); /* USI-A11Y-HARDEN: was #b0aea8 (~2.2:1) → canon muted #6e6e78 */
	letter-spacing: 0.04em;
}

.u2-fv2-cell__cta {
	font-size: 15px;
	font-weight: 500;
	color: var(--u2-accent);
}

body.page-home .u2-fv2-section-inner {
	max-width: calc(var(--u2-container) + 120px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 40px);
}

body.page-home .u2-fv2-hero-stats {
	display: flex;
	flex-wrap: wrap;
	padding-top: 28px;
	margin-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.page-home .u2-fv2-hero-stat {
	padding: 8px 24px 12px 0;
	margin-right: 20px;
	border-right: 1px solid rgba(255, 255, 255, 0.09);
	min-width: 0;
}

body.page-home .u2-fv2-hero-stat--last {
	border-right: 0;
	margin-right: 0;
}

body.page-home .u2-fv2-hero-stat__label {
	display: block;
	font-family: ui-monospace, monospace;
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 600;
	color: #eae6dd;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin-bottom: 6px;
}

body.page-home .u2-fv2-hero-stat__desc {
	display: block;
	font-size: 12px;
	line-height: 1.45;
	color: rgba(234, 230, 221, 0.38);
	max-width: 28ch;
}

body.page-home .u2-fv2-home-obj {
	background: #eeece8;
}

body.page-home .u2-fv2-cta-strip__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(20px, 4vw, 40px);
}

.u2-fv2-shop-hero {
	position: relative;
	background: #0c0d10;
	color: #eae6dd;
	overflow: hidden;
	padding: clamp(28px, 4vw, 40px) 0 52px;
}

.u2-fv2-shop-hero__carbon {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		radial-gradient(ellipse at 55% 35%, rgba(204, 82, 0, 0.08) 0%, transparent 58%);
}

.u2-fv2-shop-hero__inner {
	position: relative;
	z-index: 1;
}

.u2-fv2-shop-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: rgba(234, 230, 221, 0.35);
	letter-spacing: 0.06em;
	margin-bottom: 28px;
}

.u2-fv2-shop-hero__crumbs a {
	color: inherit;
	text-decoration: none;
}

.u2-fv2-shop-hero__crumbs a:hover {
	color: #fff;
}

.u2-fv2-shop-hero__crumb-current {
	color: rgba(234, 230, 221, 0.65);
}

.u2-fv2-shop-hero__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.u2-fv2-shop-hero__eyebrow-line {
	width: 24px;
	height: 2px;
	background: var(--u2-accent);
	flex-shrink: 0;
}

.u2-fv2-shop-hero__eyebrow {
	margin: 0;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.u2-fv2-shop-hero__h1 {
	margin: 0 0 14px;
	font-family: var(--u2-font-heading);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3.2rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
	color: #eae6dd;
}

.u2-fv2-shop-hero__lead {
	margin: 0 0 24px;
	font-size: clamp(1rem, 1.6vw, 1.125rem);
	color: rgba(234, 230, 221, 0.45);
	max-width: 52ch;
	line-height: 1.7;
}

.u2-fv2-shop-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
}

@media (max-width: 640px) {
	.u2-fv2-shop-hero__actions .u2-fv2-btn {
		padding: 11px 18px;
		font-size: 12px;
	}
}

.u2-fv2-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 26px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	border: 1px solid transparent;
}

.u2-fv2-btn--primary {
	background: var(--u2-accent);
	color: #fff;
}

.u2-fv2-btn--primary:hover {
	background: var(--u2-accent-hover);
}

.u2-fv2-btn--ghost {
	border-color: rgba(234, 230, 221, 0.18);
	color: rgba(234, 230, 221, 0.78);
	background: transparent;
}

.u2-fv2-btn--ghost:hover {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
}

.u2-fv2-shop-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.u2-fv2-chip {
	display: inline-flex;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(234, 230, 221, 0.75);
	font-size: 13px;
	text-decoration: none;
}

.u2-fv2-chip:hover {
	border-color: rgba(204, 82, 0, 0.45);
	color: #fff;
}

.u2-fv2-shop-vitrine {
	padding-top: clamp(28px, 4vw, 56px);
}

.u2-fv2-shop-vitrine__head {
	display: grid;
	gap: 12px;
	margin-bottom: 28px;
}

@media (min-width: 900px) {
	.u2-fv2-shop-vitrine__head {
		grid-template-columns: 1fr auto;
		align-items: end;
	}
}

.u2-fv2-shop-vitrine__note {
	margin: 0;
	font-size: 14px;
	color: var(--u2-muted);
	max-width: 48ch;
	line-height: 1.55;
}


.u2-fv2-pdp-band--hero {
	background: #0c0d10;
	color: #eae6dd;
	padding: clamp(20px, 3vw, 36px) 0 clamp(28px, 4vw, 48px);
	position: relative;
	overflow: hidden;
}

/* Breakout: natural full-width (parent is already full-width) */
body.page-product .u2-fv2-pdp-band--hero {
	width: 100%;
	padding-left: clamp(24px, 5vw, 96px);
	padding-right: clamp(24px, 5vw, 96px);
}

.u2-fv2-pdp-band--hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.014) 0, rgba(255, 255, 255, 0.014) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.014) 0, rgba(255, 255, 255, 0.014) 1px, transparent 1px, transparent 18px),
		radial-gradient(ellipse at 55% 30%, rgba(204, 82, 0, 0.07) 0%, transparent 55%);
}

.u2-fv2-pdp-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(20px, 3vw, 32px);
}

@media (min-width: 1280px) {
	.u2-fv2-pdp-hero-grid {
		grid-template-columns: minmax(0, 420px) minmax(0, 1fr) 300px;
		align-items: start;
	}
}

.u2-fv2-pdp-hero-grid__gallery .u2-pdp__gallery-col {
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.02);
}

.u2-fv2-pdp-hero-grid__right {
	display: flex;
	flex-direction: column;
	gap: clamp(18px, 2.5vw, 26px);
}

@media (min-width: 1280px) {
	.u2-fv2-pdp-hero-grid > .u2-fv2-pdp-hero-main {
		min-width: 0;
	}
	.u2-fv2-pdp-hero-grid > .u2-fv2-pdp-hero-commerce {
		min-width: 0;
	}
}

.u2-fv2-pdp-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	font-family: ui-monospace, monospace;
	font-size: 12px;
	margin-bottom: 6px;
}

.u2-fv2-pdp-meta-cat,
.u2-fv2-pdp-meta-brand {
	color: var(--u2-accent);
	text-decoration: none;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.u2-fv2-pdp-meta-brand {
	color: #eae6dd;
	letter-spacing: 0.04em;
	text-transform: none;
}

.u2-fv2-pdp-meta-brand:hover {
	color: var(--u2-accent);
}

.u2-fv2-pdp-meta-sep {
	color: rgba(255, 255, 255, 0.2);
}

.u2-fv2-pdp-article-line {
	margin: 0 0 10px;
	font-size: 12px;
	color: rgba(234, 230, 221, 0.45);
	letter-spacing: 0.08em;
}

body.page-product .u2-fv2-pdp-h1 {
	color: #eae6dd;
	font-size: clamp(1.75rem, 3.5vw, 2.85rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
}

body.page-product .u2-fv2-pdp-lead {
	color: rgba(234, 230, 221, 0.72);
	font-size: 16px;
	line-height: 1.65;
	max-width: 58ch;
}

body.page-product .u2-fv2-pdp-hero-main .u2-pdp__rating-row {
	color: rgba(234, 230, 221, 0.55);
}

body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs {
	border-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.03);
}

body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-label,
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-name {
	color: rgba(234, 230, 221, 0.45);
}

body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-val {
	color: #eae6dd;
}

.u2-fv2-pdp-hero-commerce .u2-pdp__b2b-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #eae6dd;
	padding: 28px;
}

.u2-fv2-pdp-compare-wrap {
	margin-top: 16px;
	display: flex;
	justify-content: flex-start;
}

.u2-fv2-pdp-compare-wrap .compare-ico {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 2px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.06);
	color: #eae6dd;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.12s, border-color 0.12s;
}

.u2-fv2-pdp-compare-wrap .compare-ico:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.4);
}

.u2-fv2-pdp-compare-wrap .compare-ico .u2-pd__compare-svg {
	width: 18px;
	height: 18px;
}

.u2-fv2-page-hero {
	background: #0c0d10;
	color: #eae6dd;
	padding: clamp(28px, 4vw, 44px) 0;
	position: relative;
	overflow: hidden;
}

.u2-fv2-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 18px);
}

.u2-fv2-page-hero .u-container {
	position: relative;
	z-index: 1;
}

.u2-fv2-page-hero__eyebrow {
	margin: 0 0 10px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.u2-fv2-page-hero__h1 {
	margin: 0;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #eae6dd;
}

.u2-fv2-card--empty {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: clamp(22px, 3vw, 32px);
}

body.page-cart .u2-fv2-card--empty .empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.u2-fv2-fb-hero {
	background: #0c0d10;
	color: #eae6dd;
	padding: clamp(32px, 5vw, 56px) 0;
}

.u2-fv2-fb-hero__eyebrow {
	margin: 0 0 12px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.u2-fv2-fb-hero__h1 {
	margin: 0 0 14px;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.035em;
}

.u2-fv2-fb-hero__lead {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: rgba(234, 230, 221, 0.55);
	max-width: 56ch;
}

.u2-fv2-compare .u2-compare__sub {
	color: rgba(234, 230, 221, 0.5);
	margin: 10px 0 0;
	max-width: 60ch;
	line-height: 1.55;
}

body.page-product .u2-buy__price-by-request {
	font-size: 1.05rem;
}

body.page-product .u2-buy__price .visually-hidden.js_shop_price {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* --- PDP Tabs (Figma V2) --- */
.u2-pdp-tabs {
	margin-top: 0;
}

.u2-pdp-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	margin-bottom: 24px;
}

.u2-pdp-tabs__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 20px;
	font-family: ui-monospace, monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(12, 13, 16, 0.45);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.15s, border-color 0.15s;
	background: transparent;
	border-top: none;
	border-left: none;
	border-right: none;
	cursor: pointer;
}

.u2-pdp-tabs__btn:hover {
	color: rgba(12, 13, 16, 0.75);
}

.u2-pdp-tabs__btn.is-active {
	color: #0c0d10;
	border-bottom-color: var(--u2-accent);
}

.u2-pdp-tabs__badge {
	display: inline-block;
	min-width: 18px;
	padding: 0 5px;
	font-size: 11px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
	border-radius: 9px;
	background: var(--u2-accent);
	color: #fff;
	margin-left: 6px;
	vertical-align: middle;
}

.u2-pdp-tabs__panel {
	display: none;
}

.u2-pdp-tabs__panel.is-active {
	display: block;
}

/* PDP tabs mobile accordion */
@media (max-width: 767px) {
	.u2-pdp-tabs__nav {
		display: none;
	}
	.u2-pdp-tabs__panel {
		display: block;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
	.u2-pdp-tabs__accordion-btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 16px 0;
		font-family: ui-monospace, monospace;
		font-size: 12px;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #0c0d10;
		background: transparent;
		border: none;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		cursor: pointer;
		text-align: left;
	}
	.u2-pdp-tabs__accordion-btn svg {
		flex: none;
		transition: transform 0.2s ease;
		color: rgba(12, 13, 16, 0.4);
	}
	.u2-pdp-tabs__accordion-btn[aria-expanded="true"] svg {
		transform: rotate(180deg);
	}
	.u2-pdp-tabs__accordion-panel {
		padding-bottom: 20px;
	}
	.u2-pdp-tabs__accordion-panel[hidden] {
		display: none;
	}
}

@media (min-width: 768px) {
	.u2-pdp-tabs__accordion-btn {
		display: none;
	}
	.u2-pdp-tabs__accordion-panel {
		display: block !important;
	}
}

/* --- PDP Commercial block (dark theme) --- */
body.page-product .u2-pdp__b2b-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--u2-radius);
	padding: 24px;
	color: #eae6dd;
}

body.page-product .u2-pdp__buy-eyebrow {
	font-family: ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin: 0 0 16px;
}

body.page-product .u2-buy__price-fact {
	font-size: 1.35rem;
	font-weight: 700;
	color: #eae6dd;
	margin-bottom: 16px;
}

body.page-product .u2-buy__price-by-request {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--u2-teal);
}

body.page-product .u2-buy__qty {
	margin-bottom: 16px;
}

body.page-product .u2-buy__qty-label {
	display: block;
	font-size: 0.82rem;
	color: rgba(234, 230, 221, 0.5);
	margin-bottom: 6px;
}

body.page-product .u2-buy__qty-control .count-d__control {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	max-width: 140px;
}

body.page-product .count-d__input {
	color: #eae6dd;
}

body.page-product .u2-buy__qty-unit {
	font-size: 0.82rem;
	color: rgba(234, 230, 221, 0.5);
	margin-top: 6px;
}

body.page-product .u2-buy__btn--primary {
	background: var(--u2-accent);
	color: #fff;
	border-radius: 6px;
	padding: 14px 28px;
	font-weight: 700;
	font-size: 1rem;
	border: none;
	box-shadow: 0 2px 16px rgba(204, 82, 0, 0.28);
	width: 100%;
	justify-content: center;
}

body.page-product .u2-buy__btn--primary:hover {
	background: var(--u2-accent-hover);
}

body.page-product .u2-pdp__trust-note {
	font-size: 0.82rem;
	color: rgba(234, 230, 221, 0.4);
	margin-top: 14px;
	line-height: 1.5;
}

body.page-product .u2-fv2-pdp-compare-wrap .compare-ico {
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: rgba(255, 255, 255, 0.04);
	color: #eae6dd;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 0.82rem;
}

body.page-product .u2-fv2-pdp-compare-wrap .compare-ico:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.4);
}

/* Visually hide assistive price rows while keeping them in the DOM for screen readers / cart JS */
.usilenie-offer-prices--assistive {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --- Utilities --- */
.container {
	width: 100%;
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

.usilenie-inline-svg {
	vertical-align: middle;
}

.errors.error {
	border-radius: 10px;
	border: 1px solid rgba(248, 113, 113, 0.35);
	background: rgba(248, 113, 113, 0.08);
	color: #fecaca;
	padding: 10px 12px;
	margin: 10px 0;
}

/* === Home visual reset: width, scale, typography (2026-05-12) === */
body.page-home .u2-container,
body.page-home .u-container {
	max-width: none;
	padding-inline: clamp(24px, 5vw, 96px);
}

body.page-home .u2-home-hero__inner,
body.page-home .u2-home-cat__inner,
body.page-home .u2-home-svc__inner,
body.page-home .u2-home-obj__inner,
body.page-home .u2-home-cta__inner {
	max-width: none;
}

body.page-home .u2-home-hero {
	/* USI-TPLCFG-HERO (2026-06-07): content-driven. The calc(100svh+80px) here was DEFEATING the
	   line-3822 min-height:auto (same file, later wins) and opening a ~270px void below the stats
	   @1920 (and ~119px @390). Hero now sizes to its content — no empty band before the next section. */
	min-height: auto;
}

body.page-home .u2-home-hero__h1 {
	font-size: clamp(2.35rem, 8vw, 7.2rem);
	line-height: 1.0;
	letter-spacing: -0.04em;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: manual;
}

body.page-home .u2-home-cta__tel--fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	padding: 13px 24px;
	background: transparent;
	color: rgba(234, 230, 221, 0.75);
	border: 1px solid rgba(234, 230, 221, 0.18);
	border-radius: 2px;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.page-home .u2-home-cta__tel--fallback:hover {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

body.page-home .u2-topbar__inner {
	padding-block: 4px;
}

body.page-shop .u2-topbar__inner,
body.page-category .u2-topbar__inner {
	padding-block: 4px;
}

body.page-shop .u2-topbar__inner,
body.page-category .u2-topbar__inner {
	max-width: none;
	padding-inline: clamp(24px, 5vw, 96px);
}



/* ============================================================
   /shop/ — Figma V2 catalog page (scoped under .u2-shop-root)
   ============================================================ */

/* Hide global Diafan breadcrumbs on /shop/ — we render our own inside hero */

/* Full-bleed root: natural full-width (parent is already full-width) */
.u2-shop-root {
	width: 100%;
	overflow-x: clip;
	background: #f4f3f0;
}

/* Inner wide container — responsive widths (matches homepage header) */
/* SMAUDIT (2026-07-17): раннее (dead-code) определение .u2-shop-wide снято — его всегда
   перекрывало позднее токен-определение той же специфичности; геометрия не меняется. */

/* ---------- Hero ---------- */
.u2-shop-hero {
	position: relative;
	background: #0c0d10;
	color: #eae6dd;
	overflow: hidden;
	padding: calc(var(--u2-header-h) + 32px) 0 52px;
}

@media (max-width: 1023px) {
	.u2-shop-hero {
		padding: calc(var(--u2-header-h) + 20px) 0 44px;
	}
}

.u2-shop-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		radial-gradient(ellipse at 55% 35%, rgba(204, 82, 0, 0.08) 0%, transparent 58%);
}


.u2-shop-hero__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.u2-shop-hero__eyebrow-line {
	width: 24px;
	height: 2px;
	background: var(--u2-accent);
	flex-shrink: 0;
}

.u2-shop-hero__eyebrow {
	margin: 0;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.u2-shop-hero__h1 {
	margin: 0 0 14px;
	font-family: var(--u2-font-heading);
	font-weight: 700;
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
	color: #eae6dd;
}

.u2-shop-hero__lead {
	margin: 0 0 28px;
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	color: rgba(234, 230, 221, 0.45);
	max-width: 56ch;
	line-height: 1.7;
}

.u2-shop-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ---------- Buttons (shop scoped) ---------- */
.u2-shop-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	border: 1px solid transparent;
	cursor: pointer;
}

.u2-shop-btn--primary {
	background: var(--u2-accent);
	color: #fff;
}

.u2-shop-btn--primary:hover {
	background: var(--u2-accent-hover);
}

.u2-shop-btn--ghost {
	border-color: rgba(234, 230, 221, 0.18);
	color: rgba(234, 230, 221, 0.78);
	background: transparent;
}

.u2-shop-btn--ghost:hover {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
}

@media (max-width: 640px) {
	.u2-shop-btn {
		padding: 11px 18px;
		font-size: 12px;
	}
}

/* ---------- Tabs strip ---------- */
.u2-shop-tabs-wrap {
	background: #0c0d10;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.u2-shop-tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	overflow-x: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.u2-shop-tabs::-webkit-scrollbar {
	display: none;
}

.u2-shop-tab {
	flex-shrink: 0;
	padding: 14px 20px;
	font-family: ui-monospace, monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(234, 230, 221, 0.4);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color 0.15s, border-color 0.15s;
}

.u2-shop-tab:hover {
	color: rgba(234, 230, 221, 0.7);
}

.u2-shop-tab.is-active {
	color: #eae6dd;
	border-bottom-color: var(--u2-accent);
}

/* ---------- Catalog section ---------- */
.u2-shop-catalog {
	padding: 32px 0 64px;
}

/* ---------- Layout ---------- */
.u2-catalog-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

@media (max-width: 1023px) {
	.u2-catalog-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Filter sidebar ---------- */
.u2-shop-filter-sidebar {
	position: sticky;
	top: calc(var(--u2-header-h) + 16px);
	background: #ffffff;
	border: 1px solid #e2e0da;
	overflow: hidden;
}

.u2-shop-filter-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: #0c0d10;
}

.u2-shop-filter-sidebar__title {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: #eae6dd;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
}

.u2-filter__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: #0c0d10;
}

.u2-filter__header-title {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: #eae6dd;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
}

.u2-filter__header-reset {
	font-size: 12px;
	color: rgba(234, 230, 221, 0.6);
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	font-family: inherit;
}

.u2-filter__header-reset:hover {
	color: #fff;
}

.u2-filter__header-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--u2-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	margin-left: 8px;
	margin-right: auto;
}

.u2-filter-group {
	padding: 16px 20px;
	border-bottom: 1px solid #eceae4;
}

.u2-filter-group__title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 10px;
	color: var(--u2-text);
}

.u2-filter-group__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.u2-filter-group__link {
	display: block;
	padding: 6px 8px;
	border-radius: var(--u2-radius-sm);
	font-size: 14px;
	color: var(--u2-text);
	text-decoration: none;
	transition: background 0.12s ease, color 0.12s ease;
}

.u2-filter-group__link:hover {
	background: #f4f3f0;
	color: var(--u2-accent);
}

.u2-filter-group__link.is-active {
	background: rgba(204, 82, 0, 0.08);
	color: var(--u2-accent);
	font-weight: 600;
}

/* Mobile filter bar */
.u2-shop-filter-bar {
	display: none;
}

@media (max-width: 1023px) {
	.u2-shop-filter-bar {
		display: flex;
		gap: 10px;
		margin-bottom: 16px;
	}
	.u2-shop-filter-open {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 16px;
		border-radius: var(--u2-radius);
		border: 1px solid var(--u2-border);
		background: #ffffff;
		color: var(--u2-text);
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
	}
	.u2-shop-filter-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: min(420px, 92vw);
		z-index: 80;
		transform: translateX(-102%);
		transition: transform 0.22s ease;
		overflow: auto;
		border-radius: 0;
	}
	.u2-shop-filter-sidebar.is-open {
		transform: translateX(0);
	}
}

/* ---------- Toolbar ---------- */
.u2-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
	padding: 12px 16px;
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius-sm);
}

.u2-toolbar__count-text {
	font-family: ui-monospace, monospace;
	font-size: 14px;
	color: #6e6e78;
	letter-spacing: 0.04em;
	margin: 0;
}

.u2-toolbar--sort {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.u2-toolbar__label {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--u2-muted);
	font-weight: 600;
}

.u2-catalog-toolbar__sort .u2-toolbar__select {
	padding: 10px 36px 10px 16px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid transparent;
	background: #f4f3f0;
	color: var(--u2-text);
	font-size: 13px;
	font-weight: 600;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e6e78' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
	min-width: 200px;
}

/* ---------- Product grid ---------- */
.u2-product-grid {
	display: grid;
	gap: 28px;
}

.u2-product-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

@media (max-width: 1100px) {
	.u2-product-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.u2-product-grid--3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Tile grid variant (category page) */
.u2-product-grid--tile {
	gap: 1px;
	background: #E2E0DA;
	border: 1px solid #E2E0DA;
}

/* ---------- Cards (shop scoped) ---------- */
.page-shop .p-card,
.page-category .p-card {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.page-shop .p-card::before,
.page-category .p-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--u2-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s ease;
	z-index: 1;
}

.page-shop .p-card:hover::before,
.page-category .p-card:hover::before {
	transform: scaleX(1);
}

.page-shop .p-card:hover,
.page-category .p-card:hover {
	box-shadow: 0 4px 28px rgba(0, 0, 0, 0.10);
	border-color: #c0beb8;
}

.page-shop .p-card__thumb,
.page-category .p-card__thumb {
	height: 260px;
}

.page-shop .p-card__body,
.page-category .p-card__body {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.page-shop .p-card__title,
.page-category .p-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.page-shop .p-card__title-link,
.page-category .p-card__title-link {
	color: var(--u2-text);
	text-decoration: none;
}

.page-shop .p-card__title-link:hover,
.page-category .p-card__title-link:hover {
	text-decoration: underline;
}

.page-shop .p-card__excerpt,
.page-category .p-card__excerpt {
	font-size: 0.92rem;
	color: var(--u2-muted);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.page-shop .p-card__price-wrap,
.page-category .p-card__price-wrap {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid #eceae4;
}

.page-shop .p-card__price--rq,
.page-category .p-card__price--rq {
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--u2-teal);
}

/* Card actions */
.p-card--catalog .p-card__actions {
	margin-top: auto;
	padding-top: 10px;
}

.p-card--catalog .p-card__actions-primary {
	margin-bottom: 10px;
}

.p-card--catalog .p-card__actions-primary .u2-btn--primary {
	width: 100%;
	justify-content: center;
	padding: 12px 20px;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.p-card--catalog .p-card__row2 {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.p-card--catalog .p-card__details-link {
	font-size: 13px;
	padding: 9px 16px;
}

.p-card--catalog .compare-ico {
	padding: 9px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: transparent;
	color: var(--u2-muted);
	transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.p-card--catalog .compare-ico:hover {
	background: rgba(204, 82, 0, 0.06);
	border-color: var(--u2-accent);
	color: var(--u2-accent);
}

.compare-ico__label {
	font-size: 13px;
	font-weight: 500;
	margin-left: 6px;
}

.p-card--catalog .compare-ico__label {
	display: none;
}

/* ---------- Empty state ---------- */
.u2-shop-empty {
	text-align: center;
	padding: 64px 32px;
	border: 1px dashed var(--u2-border);
	background: #ffffff;
}

.u2-shop-empty__text {
	margin: 0 0 20px;
	color: var(--u2-muted);
	font-size: 1rem;
}

.u2-shop-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

/* ---------- Mobile-only helpers ---------- */
.usilenie-only-mobile {
	display: block;
}

@media (min-width: 1024px) {
	.usilenie-only-mobile {
		display: none !important;
	}
}

/* ---------- Bottom CTA ---------- */
.u2-shop-cta {
	background: #14181e;
	color: var(--u2-text-on-dark);
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 5vw, 64px) 0;
}

.u2-shop-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,0.015) 0, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255,255,255,0.015) 0, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 18px);
}

.u2-shop-cta .u2-shop-wide {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.u2-shop-cta__copy {
	max-width: 56ch;
}

.u2-shop-cta__eyebrow {
	margin: 0 0 10px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.u2-shop-cta__title {
	margin: 0 0 12px;
	font-family: var(--u2-font-heading);
	font-weight: 700;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: #eae6dd;
}

.u2-shop-cta__text {
	margin: 0;
	font-size: clamp(0.95rem, 1.4vw, 1.05rem);
	color: rgba(234, 230, 221, 0.5);
	max-width: 48ch;
	line-height: 1.6;
}

.u2-shop-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media (max-width: 640px) {
	.u2-shop-cta .u2-shop-wide {
		flex-direction: column;
		align-items: flex-start;
	}
}

.u2-shop-root--loading {
	opacity: 0.6;
	transition: opacity 0.15s ease;
	pointer-events: none;
}

/* Ensure footer inside .u2-shop-root keeps its own background */
.u2-shop-root ~ .site-footer,
.u2-shop-root + * .site-footer {
	background: inherit;
}


/* ============================================
   Figma V2 Filter & Catalog Enhancements
   ============================================ */

/* --- Category link count badge --- */
.u2-filter-group__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 18px;
	padding: 0 6px;
	border-radius: 9px;
	background: var(--u2-surface-2);
	color: var(--u2-muted);
	font-size: 11px;
	font-weight: 600;
	margin-left: 6px;
	transition: background 0.12s ease, color 0.12s ease;
}

.u2-filter-group__link.is-active .u2-filter-group__count,
.u2-filter-group__link:hover .u2-filter-group__count {
	background: rgba(204, 82, 0, 0.12);
	color: var(--u2-accent);
}

/* --- Filter accordion (details/summary) --- */
.u2-filter__details {
	border-bottom: 1px solid var(--u2-border);
}

.u2-filter__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 0;
	cursor: pointer;
	list-style: none;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--u2-text);
	user-select: none;
}

.u2-filter__summary-count {
	font-size: 11px;
	font-weight: 600;
	color: var(--u2-muted);
	background: var(--u2-surface-2);
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: auto;
	margin-right: 8px;
}

.u2-filter__summary::-webkit-details-marker {
	display: none;
}

.u2-filter__chevron {
	flex-shrink: 0;
	transition: transform 0.2s ease;
	color: var(--u2-muted);
}

.u2-filter__details[open] .u2-filter__chevron {
	transform: rotate(180deg);
}

.u2-filter__details-body {
	padding-bottom: 14px;
}

/* --- Filter checkbox option --- */
.u2-filter__option {
	margin-bottom: 8px;
}

.u2-filter__option:last-child {
	margin-bottom: 0;
}

.u2-filter__check-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
	color: var(--u2-text);
}

.u2-filter__checkbox {
	margin-top: 1px;
	width: 18px;
	height: 18px;
	accent-color: var(--u2-accent);
	flex-shrink: 0;
}

.u2-filter__option-text {
	color: var(--u2-text);
}

/* --- Filter actions (desktop) --- */
.u2-filter__actions {
	display: flex;
	gap: 10px;
	padding: 16px 0;
}

@media (max-width: 1023px) {
	.u2-filter__actions {
		display: none;
	}
}

/* --- Mobile sticky footer --- */
.u2-filter__mobile-footer {
	display: none;
}

@media (max-width: 1023px) {
	.u2-filter__mobile-footer {
		display: flex;
		flex-direction: column;
		gap: 10px;
		position: sticky;
		bottom: 0;
		padding: 14px 0;
		background: var(--u2-surface);
		border-top: 1px solid var(--u2-border);
		margin-top: auto;
	}
}

.u2-filter__mobile-submit,
.u2-filter__mobile-reset {
	width: 100%;
	justify-content: center;
}

/* --- Active filter chips --- */
.u2-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
	min-height: 0;
}

.u2-filter-chips:empty {
	display: none;
}

.u2-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 20px;
	background: var(--u2-surface-2);
	border: 1px solid var(--u2-border);
	font-size: 13px;
	color: var(--u2-text);
	cursor: default;
}

.u2-filter-chip__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: var(--u2-muted);
	cursor: pointer;
	padding: 0;
	margin-left: 2px;
	transition: background 0.12s ease, color 0.12s ease;
}

.u2-filter-chip__remove:hover {
	background: rgba(204, 82, 0, 0.12);
	color: var(--u2-accent);
}

/* --- Category view switcher removal (ensure grid always) --- */
.usilenie-shop-products.section-d__list._viewrows {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1023px) {
	.usilenie-shop-products.section-d__list._viewrows {
		grid-template-columns: 1fr;
	}
}

/* --- SEO block V2 styling --- */
.u2-category-seo {
	margin-top: 48px;
	padding: 32px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
}

.u2-category-seo__viewport {
	max-height: 200px;
	overflow: hidden;
	position: relative;
	transition: max-height 0.3s ease;
}

.u2-category-seo__viewport.is-expanded {
	max-height: none;
}

.u2-category-seo__viewport::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 60px;
	background: linear-gradient(to bottom, transparent, var(--u2-surface));
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.u2-category-seo__viewport.is-expanded::after {
	opacity: 0;
}

.u2-category-seo__more {
	margin-top: 16px;
}

/* --- Mobile drawer flex layout for sticky footer --- */
@media (max-width: 1023px) {
	.u2-filter-sidebar .u2-filter__form {
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}
}

/* --- Ensure filter panel scrolls properly on mobile --- */
@media (max-width: 1023px) {
	#usilenie-shop-filter-panel {
		display: flex;
		flex-direction: column;
	}
	#usilenie-shop-filter-panel > .u2-filter__form {
		flex: 1 1 auto;
	}
}


/* ============================================
   Figma V2 PDP Light Theme Overrides (2026-05-15)
   ============================================ */

/* Gallery — светлая карточка */
.u2-fv2-pdp-hero-grid__gallery .u2-pdp__gallery-col {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius);
	overflow: hidden;
}

/* Meta / breadcrumb-like row */
.u2-fv2-pdp-meta-cat {
	color: var(--u2-accent);
}
.u2-fv2-pdp-meta-brand {
	color: var(--u2-text);
}
.u2-fv2-pdp-meta-brand:hover {
	color: var(--u2-accent);
}
.u2-fv2-pdp-meta-sep {
	color: rgba(0,0,0,0.25);
}
.u2-fv2-pdp-article-line {
	color: var(--u2-muted);
}

/* Rating */
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__rating-row {
	color: var(--u2-muted);
}

/* Keyspecs — карточка */
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius);
	padding: 18px;
}
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-label,
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-name {
	color: var(--u2-muted);
}
body.page-product .u2-fv2-pdp-hero-main .u2-pdp__keyspecs-val {
	color: var(--u2-text);
}

/* Commercial block — светлая карточка */
body.page-product .u2-pdp__b2b-card {
	background: #ffffff;
	border: 1px solid #e2e0da;
	color: var(--u2-text);
}
body.page-product .u2-pdp__buy-eyebrow {
	color: var(--u2-accent);
}
body.page-product .u2-buy__price-fact,
body.page-product .u2-buy__price-by-request {
	color: var(--u2-text);
}
body.page-product .u2-buy__qty-label,
body.page-product .u2-buy__qty-unit {
	color: var(--u2-muted);
}
body.page-product .u2-buy__qty-control .count-d__control {
	background: #f4f3f0;
	border-color: #e2e0da;
}
body.page-product .count-d__input {
	color: var(--u2-text);
}
body.page-product .u2-pdp__trust-note {
	color: var(--u2-muted);
}
body.page-product .u2-fv2-pdp-compare-wrap .compare-ico {
	border: 1px solid #e2e0da;
	background: #f4f3f0;
	color: var(--u2-text);
}
body.page-product .u2-fv2-pdp-compare-wrap .compare-ico:hover {
	background: #eceae4;
	border-color: #c0beb8;
}

/* Tabs — карточный вид */
.u2-pdp-tabs__nav {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius) var(--u2-radius) 0 0;
	padding: 0 12px;
	margin-bottom: 0;
}
.u2-pdp-tabs__panels {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-top: none;
	border-radius: 0 0 var(--u2-radius) var(--u2-radius);
}
.u2-pdp-tabs__panel.is-active {
	padding: 28px;
}

/* Rich-text headings inside tabs */
.u2-pdp-tabs__panel .u2-pdp-desc__rich h2,
.u2-pdp-tabs__panel .u2-pdp-desc__rich h3 {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 28px 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eceae4;
	color: var(--u2-text);
}
.u2-pdp-tabs__panel .u2-pdp-desc__rich h2:first-child,
.u2-pdp-tabs__panel .u2-pdp-desc__rich h3:first-child {
	margin-top: 0;
}
.u2-pdp-tabs__panel .u2-pdp-desc__rich p {
	color: var(--u2-muted);
	line-height: 1.65;
}

/* Mobile accordion */
@media (max-width: 767px) {
	.u2-pdp-tabs__panels {
		background: transparent;
		border: none;
		border-radius: 0;
	}
	.u2-pdp-tabs__panel {
		background: #ffffff;
		border: 1px solid #e2e0da;
		border-radius: var(--u2-radius);
		margin-bottom: 10px;
		padding: 0 16px 16px;
	}
	.u2-pdp-tabs__accordion-btn {
		border-top: none;
		border-bottom: 1px solid #e2e0da;
		padding: 16px 0;
		color: var(--u2-text);
	}
}

/* ============================================
   Category / Shop Card Polish
   ============================================ */
.page-shop .p-card,
.page-category .p-card {
	border-radius: var(--u2-radius);
}
.page-shop .p-card::before,
.page-category .p-card::before {
	border-radius: var(--u2-radius) var(--u2-radius) 0 0;
}

/* Cleaner compare icon in cards */
.p-card--catalog .compare-ico {
	border: none;
	background: transparent;
	padding: 8px;
}
.p-card--catalog .compare-ico:hover {
	background: rgba(204, 82, 0, 0.08);
	color: var(--u2-accent);
}

/* Slightly stronger toolbar sort */
.u2-catalog-toolbar__sort .u2-toolbar__select {
	min-width: 220px;
}

/* Empty state compare icon fix */
.u2-compare-empty {
	background: #ffffff;
	border: 1px solid #e2e0da;
	border-radius: var(--u2-radius);
	padding: 48px 32px;
	text-align: center;
}


/* ============================================
   Figma V2 Final Polish — 2026-05-15
   ============================================ */

/* --- Cards: stronger B2B feel --- */
.page-shop .p-card__thumb,
.page-category .p-card__thumb {
	height: 200px;
}

.page-shop .p-card__body,
.page-category .p-card__body {
	gap: 8px;
	padding: 16px;
}

.page-shop .p-card__title,
.page-category .p-card__title {
	font-size: 1.05rem;
	font-weight: 700;
}

.page-shop .p-card__excerpt,
.page-category .p-card__excerpt {
	-webkit-line-clamp: 2;
	font-size: 0.9rem;
}

.page-shop .p-card__price--rq,
.page-category .p-card__price--rq {
	font-size: 1.15rem;
	font-weight: 800;
}

.p-card--catalog .p-card__actions-primary {
	margin-bottom: 6px;
}

.p-card--catalog .p-card__actions-primary .u2-btn--primary {
	padding: 12px 16px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.p-card--catalog .p-card__row2 {
	justify-content: space-between;
	gap: 8px;
}

/* Brand / article micro row */
.p-card__brand {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin: 0;
}
.p-card__brand a {
	color: inherit;
	text-decoration: none;
}
.p-card__brand a:hover {
	text-decoration: underline;
}
.p-card__sku {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	margin: 0;
}

/* --- Toolbar: seamless, no box --- */
.u2-catalog-toolbar {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--u2-border);
	padding: 12px 0;
	margin-bottom: 16px;
}

.u2-toolbar__count-text {
	font-weight: 600;
}

/* --- Sort: ghost trigger --- */
.u2-catalog-toolbar__sort .u2-toolbar__select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--u2-border);
	border-radius: 0;
	padding: 8px 28px 8px 0;
	font-size: 14px;
	font-weight: 600;
	min-width: 180px;
}

/* --- Filter sidebar: dark header, overflow hidden --- */
.u2-filter-sidebar {
	overflow: hidden;
}

.u2-shop-filter-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	margin: -14px -14px 14px -14px;
	background: #0c0d10;
	color: #eae6dd;
}

.u2-shop-filter-sidebar__title {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #eae6dd;
}

@media (max-width: 1023px) {
	.u2-shop-filter-sidebar__head {
		margin: 0 0 14px 0;
		border-radius: 0;
	}
}

/* --- Filter options: larger touch targets --- */
.u2-filter__check-label {
	min-height: 44px;
	align-items: center;
}

.u2-filter__checkbox {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.u2-filter__summary {
	padding: 14px 0;
	font-size: 14px;
}

/* --- PDP hero grid: 1024–1279 layout --- */
@media (min-width: 1024px) and (max-width: 1279px) {
	.u2-fv2-pdp-hero-grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	}
	.u2-fv2-pdp-hero-commerce {
		grid-column: 1 / -1;
	}
}

/* --- PDP commercial: stronger card --- */
body.page-product .u2-pdp__b2b-card {
	padding: 28px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

body.page-product .u2-buy__price-by-request {
	font-size: 1.35rem;
	font-weight: 800;
}

body.page-product .u2-buy__btn--primary {
	width: 100%;
	justify-content: center;
	padding: 14px 20px;
	font-size: 15px;
}

/* --- CTA buttons stronger --- */
.cta-band__actions .btn {
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 600;
}

.u2-shop-cta__actions .u2-shop-btn {
	padding: 12px 22px;
	font-size: 14px;
}

/* --- Related grid cards: equal height --- */
.u2-pdp-related-grid {
	align-items: stretch;
}

.u2-pdp-related-grid .card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* ============================================
   Figma V2 — Radical Card & Grid Rework (.us2-*)
   ============================================ */

/* ---------- Product Grid ---------- */
.us2-product-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 20px;
}
@media (min-width: 640px) {
	.us2-product-grid--3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1024px) {
	.us2-product-grid--3 {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

/* ---------- Card ---------- */
.us2-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e2e0da;
	transition: box-shadow .2s ease;
}
.us2-card:hover {
	box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}

.us2-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #f6f6f6;
	overflow: hidden;
}
.us2-card__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.us2-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
	transition: transform .3s ease;
}
.us2-card:hover .us2-card__thumb img {
	transform: scale(1.03);
}
.us2-card__thumb--placeholder {
	background: #f0efeb;
}
.us2-card__ph-icon {
	display: block;
	width: 48px;
	height: 48px;
	background: url('/img/dummyimage.svg') center no-repeat;
	background-size: contain;
	opacity: .35;
}

.us2-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 16px;
	gap: 8px;
}

.us2-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888;
}
.us2-card__brand {
	color: #555;
	text-decoration: none;
	font-weight: 600;
}
.us2-card__brand:hover {
	color: #cc5200;
}
.us2-card__sep {
	color: #bbb;
}
.us2-card__sku {
	color: #999;
}

.us2-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}
.us2-card__title a {
	color: #1a1a1a;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.us2-card__title a:hover {
	color: #cc5200;
}

.us2-card__excerpt {
	font-size: 13px;
	line-height: 1.45;
	color: #666;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.us2-card__price {
	margin-top: auto;
	padding-top: 8px;
}
.us2-card__price-value {
	font-size: 14px;
	font-weight: 700;
	color: #1a1a1a;
}

.us2-card__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

/* ---------- Buttons ---------- */
.us2-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 16px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all .15s ease;
}
.us2-btn--primary {
	background: #cc5200;
	color: #fff;
}
.us2-btn--primary:hover {
	background: #a84400;
}
.us2-btn--block {
	flex: 1 1 auto;
	width: 100%;
}

/* ---------- Compare in card ---------- */
.us2-card__compare {
	flex-shrink: 0;
}
.us2-card__compare .compare-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #e2e0da;
	background: #fff;
	cursor: pointer;
	transition: all .15s ease;
}
.us2-card__compare .compare-ico:hover {
	border-color: #cc5200;
	color: #cc5200;
}
.us2-card__compare .compare-ico__label {
	display: none;
}

/* ---------- Toolbar override ---------- */
.u2-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	border-bottom: 1px solid #e2e0da;
	margin-bottom: 20px;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

/* ---------- Sort select minimal ---------- */
.u2-toolbar--sort .u2-toolbar__select {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: none;
	border-bottom: 1px solid #e2e0da;
	padding: 4px 24px 4px 4px;
	font-size: 13px;
	color: #333;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 6px center;
}

/* ---------- Old p-card suppression ---------- */
body.page-shop .p-card--catalog,
body.page-category .p-card--catalog {
	display: none !important;
}

/* ============================================
   Figma V2 — Filter Sidebar & SEO Rework
   ============================================ */

/* ---------- Filter sidebar dark header ---------- */
.u2-shop-filter-sidebar__head {
	background: #0c0d10;
	color: #eae6dd;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.u2-shop-filter-sidebar__title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ---------- Filter accordion groups ---------- */
.u2-filter__details {
	border-bottom: 1px solid #e2e0da;
}
.u2-filter__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #1a1a1a;
	list-style: none;
}
.u2-filter__summary::-webkit-details-marker {
	display: none;
}
.u2-filter__summary-text {
	flex: 1;
}
.u2-filter__summary-count {
	font-size: 11px;
	color: #999;
	font-weight: 400;
	margin-left: 8px;
}
.u2-filter__chevron {
	transition: transform .2s ease;
	flex-shrink: 0;
	margin-left: 8px;
}
.u2-filter__details[open] .u2-filter__chevron {
	transform: rotate(180deg);
}
.u2-filter__details-body {
	padding: 0 20px 16px;
}

/* ---------- Filter checkboxes custom ---------- */
.u2-filter__option {
	margin-bottom: 8px;
}
.u2-filter__check-label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	color: #333;
}
.u2-filter__checkbox {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 18px !important;
	min-width: 18px !important;
	height: 18px !important;
	border: 1.5px solid #ccc !important;
	border-radius: 3px !important;
	background: #fff !important;
	cursor: pointer !important;
	position: relative !important;
	flex-shrink: 0 !important;
	transition: all .15s ease !important;
	margin: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	display: inline-block !important;
}
.u2-filter__checkbox:checked {
	background: #cc5200 !important;
	border-color: #cc5200 !important;
}
.u2-filter__checkbox:checked::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 2px;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.u2-filter__option-text {
	line-height: 1.3;
}

/* ---------- Filter actions ---------- */
.u2-filter__actions {
	padding: 16px 20px;
	display: flex;
	gap: 8px;
}
.u2-filter__submit,
.u2-filter__reset {
	flex: 1;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: none;
	cursor: pointer;
	transition: all .15s ease;
}
.u2-filter__submit {
	background: #0c0d10;
	color: #fff;
}
.u2-filter__submit:hover {
	background: #cc5200;
}
.u2-filter__reset {
	background: transparent;
	color: #666;
	border: 1px solid #e2e0da;
}
.u2-filter__reset:hover {
	border-color: #999;
	color: #333;
}

/* ---------- SEO block plain ---------- */
.usilenie-shop-seo {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	margin-top: 40px;
}
.usilenie-shop-seo .category-d__details {
	padding: 0;
}
.usilenie-shop-seo .u2-category-seo__rich {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}
.usilenie-shop-seo .u2-category-seo__rich h2,
.usilenie-shop-seo .u2-category-seo__rich h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	border-bottom: 1px solid #eceae4;
	padding-bottom: 8px;
	margin-top: 28px;
	margin-bottom: 14px;
}
.usilenie-shop-seo .u2-category-seo__rich p {
	margin-bottom: 12px;
}
.usilenie-shop-seo .u2-category-seo__more {
	margin-top: 16px;
	padding: 8px 16px;
	font-size: 13px;
	color: #666;
	background: transparent;
	border: 1px solid #e2e0da;
	cursor: pointer;
	transition: all .15s ease;
}
.usilenie-shop-seo .u2-category-seo__more:hover {
	border-color: #999;
	color: #333;
}

/* ---------- Subcategory cards ---------- */
.usilenie-shop-subcats {
	margin-bottom: 24px;
}
.usilenie-shop-subcat {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	background: #fafaf9;
	border: 1px solid #e2e0da;
	border-radius: 0;
	text-decoration: none;
	color: inherit;
	transition: all .15s ease;
	margin-bottom: 16px;
}
.usilenie-shop-subcat:hover {
	background: #f5f5f3;
	border-color: #ccc;
}
.usilenie-shop-subcat .u2-subcat-card__media {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	background: #fff;
}
.usilenie-shop-subcat .u2-subcat-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.usilenie-shop-subcat .category-d__name {
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 4px;
}
.usilenie-shop-subcat .category-d__text {
	font-size: 13px;
	color: #666;
	line-height: 1.4;
}

/* ---------- Old category-d card suppression ---------- */
body.page-category .category-d_main,
body.page-shop .category-d_main {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* ============================================
   Figma V2 — PDP Rework
   ============================================ */

/* ---------- PDP Commerce Block ---------- */
.us2-pdp-commerce__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #888;
	margin: 0 0 8px;
}
.us2-pdp-commerce__price {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 16px;
}
.us2-btn--dark {
	background: #0c0d10;
	color: #fff;
}
.us2-btn--dark:hover {
	background: #333;
}

/* Key params grid */
.u2-pdp__keyspecs-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.u2-pdp__keyspecs-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.u2-pdp__keyspecs-name {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888;
}
.u2-pdp__keyspecs-val {
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
}

/* Tabs — remove card panels */
.u2-pdp-tabs__panel {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 28px 0 0;
}
.u2-pdp-tabs__nav {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.u2-pdp-tabs__btn.is-active {
	border-bottom: 2px solid #0c0d10;
	color: #0c0d10;
}

/* Body headings */
.u2-pdp-desc__rich h2,
.u2-pdp-desc__rich h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	border-bottom: 1px solid #eceae4;
	padding-bottom: 8px;
	margin-top: 28px;
	margin-bottom: 14px;
}

/* CTA band update */
.cta-band {
	background: #0c0d10;
}
.cta-band__title {
	font-size: 28px;
	font-weight: 700;
	color: #eae6dd;
}
.cta-band__text {
	color: #999;
}
/* PHASE4 D3b — outline buttons in the dark CTA band: invert text/border to light
   (were color:var(--u2-text)=#0c0d10 on #0c0d10 bg → labels invisible) */
.cta-band .btn--outline {
	color: #eae6dd;
	border-color: rgba(234, 230, 221, 0.45);
}
.cta-band .btn--outline:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--u2-accent);
	color: #fff;
}

/* Related cards compact */
.u2-pdp-related-grid .card {
	background: #fff;
	border: 1px solid #e2e0da;
	padding: 20px;
	border-radius: 0;
}

/* =========================================================
   USILENIE V2 SYSTEM — SURGICAL ADD-ONS (2026-05-15)
   ========================================================= */

/* =========================================================
   TASK A — SERVICES GROUP
   ========================================================= */

.u2-services-page {
	max-width: none;
	margin-inline: 0;
	padding: clamp(18px, 3vw, 28px) clamp(16px, 4vw, 28px) 48px;
}

/* Dark hero for services / detail */
.u2-services-page .u2-page-head,
.u2-service-detail .u2-page-head {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(16px, 4vw, 24px);
	border-radius: var(--u2-radius);
	margin-bottom: 28px;
	overflow: hidden;
	max-width: min(var(--u2-container-wide), max(var(--u2-container-normal), calc(100vw - 144px)));
	margin-inline: auto;
	box-shadow: 0 0 0 100vmax var(--u2-graphite);
	clip-path: inset(0 -100vmax);
}

.u2-services-page .u2-page-head::before,
.u2-service-detail .u2-page-head::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-services-page .u2-page-head > *,
.u2-service-detail .u2-page-head > * {
	position: relative;
	z-index: 1;
}

.u2-services-page .u2-page-head__eyebrow,
.u2-service-detail .u2-page-head__eyebrow {
	color: var(--u2-accent);
}

.u2-services-page .u2-page-head__title,
.u2-service-detail .u2-page-head__title {
	color: #fff;
}

.u2-services-page .u2-page-head__lead,
.u2-service-detail .u2-page-head__lead {
	color: var(--u2-muted-on-dark);
}

/* Service cards grid */
.u2-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 36px;
}

@media (max-width: 980px) {
	.u2-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.u2-services-grid {
		grid-template-columns: 1fr;
	}
}

.u2-service-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	text-decoration: none;
	color: inherit;
	transition: all .15s ease;
	min-height: 100%;
}

.u2-service-card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: var(--u2-shadow-hover);
	transform: translateY(-2px);
}

.u2-service-card__icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: var(--u2-elev);
	color: var(--u2-accent);
}

.u2-service-card__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.u2-service-card__text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--u2-muted);
	margin: 0;
	flex: 1 1 auto;
}

.u2-service-card__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.u2-service-card__features li {
	font-size: 13px;
	color: var(--u2-text);
	padding-left: 16px;
	position: relative;
}

.u2-service-card__features li::before {
	content: "—";
	position: absolute;
	left: 0;
	color: var(--u2-accent);
}

.u2-service-card__link {
	font-size: 13px;
	font-weight: 700;
	color: var(--u2-link);
	margin-top: auto;
}

/* Steps section */
.u2-services-steps {
	margin-bottom: 36px;
}

.u2-services-steps__h {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-weight: 900;
	margin: 0 0 16px;
}

.u2-services-steps__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	counter-reset: step;
}

@media (max-width: 980px) {
	.u2-services-steps__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.u2-services-steps__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.u2-step-card {
	padding: 18px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	counter-increment: step;
}

.u2-step-card::before {
	content: counter(step, decimal-leading-zero);
	display: block;
	font-size: 28px;
	font-weight: 900;
	color: var(--u2-accent);
	line-height: 1;
	margin-bottom: 10px;
}

.u2-step-card__title {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 6px;
}

.u2-step-card__text {
	font-size: 13px;
	line-height: 1.45;
	color: var(--u2-muted);
	margin: 0;
}

/* "What to send" cards */
.u2-services-need {
	margin-bottom: 36px;
}

.u2-services-need__h {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-weight: 900;
	margin: 0 0 16px;
}

.u2-services-need__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 980px) {
	.u2-services-need__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.u2-services-need__grid {
		grid-template-columns: 1fr;
	}
}

.u2-need-card {
	padding: 16px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
}

.u2-need-card__num {
	font-size: 22px;
	font-weight: 900;
	color: var(--u2-accent);
	line-height: 1;
	margin-bottom: 8px;
}

.u2-need-card__text {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

/* Services CTA band */
.u2-services-cta {
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 48px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 28px;
	position: relative;
	overflow: hidden;
}

.u2-services-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 80% 20%, rgba(204, 82, 0, 0.10) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-services-cta > * {
	position: relative;
	z-index: 1;
}

.u2-services-cta__eyebrow {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin: 0 0 10px;
}

.u2-services-cta__title {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 10px;
}

.u2-services-cta__text {
	color: var(--u2-muted-on-dark);
	max-width: 64ch;
	margin: 0 0 18px;
}

.u2-services-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Service detail wrapper */
.u2-service-detail {
	max-width: none;
	margin-inline: 0;
	/* USI-RESCUE-REAL (2026-05-30): top padding exposed the light body bg as a
	   white strip between the dark header and the dark full-bleed hero. The hero
	   must sit flush under the header (like every other .u2-page-hero page). */
	padding: 0 0 48px;
}

.usilenie-page--service {
	display: grid;
	gap: 18px;
}

.usilenie-page__section {
	padding: 18px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
}

.usilenie-page__section h2 {
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.usilenie-page__list {
	margin: 0;
	padding-left: 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.usilenie-page__list li {
	font-size: 14px;
	line-height: 1.5;
}

.usilenie-page__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.usilenie-page__linklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.usilenie-page__linklist a {
	font-size: 14px;
	font-weight: 600;
	color: var(--u2-link);
}

/* =========================================================
   TASK B — OBJECTS GROUP
   ========================================================= */

/* Objects hero dark */
.usilenie-objects-live__hero {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 24px;
	overflow: hidden;
}

.usilenie-objects-live__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.usilenie-objects-live__hero-copy,
.usilenie-objects-live__hero-stats {
	position: relative;
	z-index: 1;
}

.usilenie-objects-live__hero .u2-page-head__eyebrow {
	color: var(--u2-accent);
}

.usilenie-objects-live__hero .u2-page-head__title {
	color: #fff;
}

.usilenie-objects-live__hero .u2-page-head__lead {
	color: var(--u2-muted-on-dark);
}

.usilenie-objects-live__hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
	align-self: center;
	justify-self: end;
}

.u2-objects-stats__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.u2-objects-stats__num {
	font-size: 32px;
	font-weight: 900;
	color: #fff;
	line-height: 1;
}

.u2-objects-stats__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-muted-on-dark);
}

@media (max-width: 900px) {
	.usilenie-objects-live__hero {
		grid-template-columns: 1fr;
	}
	.usilenie-objects-live__hero-stats {
		justify-self: start;
		margin-top: 18px;
	}
}

/* Object cards v2 */
.u2-object-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
	transition: all .15s ease;
}

.u2-object-card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: var(--u2-shadow-hover);
	transform: translateY(-2px);
}

.u2-object-card__media {
	aspect-ratio: 16 / 9;
	background: var(--u2-elev);
	position: relative;
	overflow: hidden;
}

.usilenie-objects-live__media {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.usilenie-objects-live__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.usilenie-objects-live__photo-fallback {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--u2-muted);
	font-size: 13px;
}

.usilenie-objects-live__photo-fallback svg {
	width: 48px;
	height: 48px;
	opacity: .35;
}

.usilenie-objects-live__photo-fallback-cap {
	display: none;
}

.u2-object-card__body {
	position: relative;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
}

.u2-object-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.u2-object-card__tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 4px;
	background: var(--u2-elev);
	color: var(--u2-muted);
}

.u2-object-card__tag--muted {
	background: transparent;
	border: 1px solid var(--u2-border);
}

.u2-object-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.usilenie-objects-live__title-link {
	color: inherit;
	text-decoration: none;
}

.usilenie-objects-live__title-link:hover {
	color: var(--u2-link);
}

.usilenie-objects-live__meta,
.usilenie-objects-live__work {
	font-size: 13px;
	color: var(--u2-muted);
	margin: 0;
}

.usilenie-objects-live__anons {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.5;
	color: var(--u2-text);
	margin: 0;
}

.usilenie-objects-live__anons p {
	margin: 0;
}

.u2-object-card__materials {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
}

.u2-object-card__material {
	font-size: 10px;
	font-weight: 700;
	padding: 3px 6px;
	border-radius: 4px;
	background: var(--u2-elev);
	color: var(--u2-text);
}

.u2-object-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.u2-object-card__year {
	position: absolute;
	top: 14px;
	right: 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--u2-muted);
	letter-spacing: 0.02em;
}

.u2-object-card__work-type {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin: 0;
	line-height: 1.3;
	word-break: break-word;
	max-width: calc(100% - 44px);
}

.u2-object-card__tag {
	border-left: 3px solid var(--u2-accent);
}



.u2-object-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--u2-border);
}

.u2-object-card__loc {
	font-size: 12px;
	color: var(--u2-muted);
}

.u2-object-card__open {
	font-size: 13px;
	font-weight: 700;
	color: var(--u2-accent);
	text-decoration: none;
	white-space: nowrap;
}

.u2-object-card__open:hover {
	color: var(--u2-accent-hover);
}

/* Objects filters restyle */
.usilenie-objects__filters {
	position: relative;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 18px;
	margin-bottom: 18px;
}

.usilenie-objects__filter-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 980px) {
	.usilenie-objects__filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.usilenie-objects__filter-grid {
		grid-template-columns: 1fr;
	}
}

.usilenie-objects__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.usilenie-objects__label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.usilenie-objects__select,
.usilenie-docs__search-input {
	width: 100%;
	padding: 10px 12px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-bg);
	color: var(--u2-text);
	font-size: 14px;
}

.usilenie-objects__filter-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

/* Objects map shell */
.u2-objects-map-shell {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: clamp(18px, 3vw, 28px);
	margin-bottom: 36px;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 18px;
}

@media (max-width: 900px) {
	.u2-objects-map-shell {
		grid-template-columns: 1fr;
	}
}

.u2-objects-map-shell__map {
	min-height: 260px;
	background: var(--u2-elev);
	border-radius: var(--u2-radius-sm);
	position: relative;
	overflow: hidden;
}

.u2-objects-map-shell__map::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 50%, rgba(204,82,0,0.06) 0%, transparent 60%),
		repeating-linear-gradient(0deg, rgba(0,0,0,0.03) 0px, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 20px),
		repeating-linear-gradient(90deg, rgba(0,0,0,0.03) 0px, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 20px);
}

.u2-objects-map-shell__list h3 {
	font-size: 14px;
	font-weight: 800;
	margin: 0 0 10px;
}

.u2-objects-map-shell__list ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.u2-objects-map-shell__list li {
	font-size: 13px;
	color: var(--u2-muted);
}

/* Objects detail */
.usilenie-object-detail {
	max-width: none;
	margin-inline: 0;
	padding: clamp(18px, 3vw, 28px) 0 48px;
}

.usilenie-object-detail__hero {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 24px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 18px;
}

.usilenie-object-detail__hero.usilenie-object-detail__hero--full {
	display: block;
	padding: clamp(28px, 5vw, 56px) 0;
	width: 100%;
	border-radius: 0;
	margin-bottom: 0;
}

.usilenie-object-detail__hero.usilenie-object-detail__hero--full > .u2-work-container {
	width: 100%;
	max-width: min(var(--u2-container-wide), max(var(--u2-container-normal), calc(100vw - 144px)));
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 24px);
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 18px;
	align-items: center;
}

.usilenie-object-detail__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.usilenie-object-detail__hero-copy,
.usilenie-object-detail__hero-media {
	position: relative;
	z-index: 1;
}

.usilenie-object-detail__hero .u2-page-head__eyebrow {
	color: var(--u2-accent);
}

.usilenie-object-detail__hero .u2-page-head__title {
	color: #fff;
}

.usilenie-object-detail__hero .u2-page-head__lead {
	color: var(--u2-muted-on-dark);
}

.usilenie-object-detail__hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	font-size: 13px;
	color: var(--u2-muted-on-dark);
	margin-bottom: 14px;
}

.usilenie-object-detail__hero-media {
	align-self: center;
}

.usilenie-object-detail__hero-image {
	/* USI-TPLCFG-OBJIMG (2026-06-07): cap the hero/main photo — was width:100% with no max-height →
	   portrait images rendered ~960×1280 (огромное, во весь экран). Now a tidy capped landscape,
	   object-fit:cover (no distortion), square (consistent with the de-rounded heroes), clickable. */
	width: 100%;
	max-height: 380px;
	object-fit: cover;
	border-radius: 0;
	display: block;
	cursor: zoom-in;
}
@media (max-width: 600px) {
	.usilenie-object-detail__hero-image { max-height: 240px; }
}

.usilenie-object-detail__gallery-empty {
	padding: 28px;
	background: rgba(255,255,255,0.04);
	border-radius: var(--u2-radius-sm);
	display: grid;
	place-items: center;
	color: var(--u2-muted-on-dark);
	font-size: 13px;
	gap: 8px;
}

.usilenie-object-detail__layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 24px;
}

@media (max-width: 900px) {
	.usilenie-object-detail__layout {
		grid-template-columns: 1fr;
	}
}

.usilenie-object__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

@media (max-width: 700px) {
	.usilenie-object__facts {
		grid-template-columns: 1fr 1fr;
	}
}

.usilenie-object__facts > div {
	padding: 12px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius-sm);
}

.usilenie-object__facts dt {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-muted);
	margin-bottom: 4px;
}

.usilenie-object__facts dd {
	font-size: 14px;
	font-weight: 700;
	color: var(--u2-text);
	margin: 0;
}

.usilenie-object-detail__materials {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.usilenie-object-detail__material {
	font-size: 13px;
	font-weight: 600;
	padding: 8px 12px;
	background: var(--u2-elev);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius-sm);
	color: var(--u2-text);
	text-decoration: none;
}

.usilenie-object-detail__material:hover {
	border-color: var(--u2-accent);
	color: var(--u2-accent);
}

.usilenie-object-detail__aside-card {
	padding: 18px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
}

/* =========================================================
   TASK E — PRICE GROUP
   ========================================================= */

.u2-price-page .u2-page-head {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 28px;
	overflow: hidden;
}

.u2-price-page .u2-page-head::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-price-page .u2-page-head > * {
	position: relative;
	z-index: 1;
}

.u2-price-page .u2-page-head__eyebrow {
	color: var(--u2-accent);
}

.u2-price-page .u2-page-head__title {
	color: #fff;
}

.u2-price-page .u2-page-head__lead {
	color: var(--u2-muted-on-dark);
}

.u2-price-section {
	margin-bottom: 28px;
}

.u2-price-section__header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.u2-price-section__icon {
	color: var(--u2-accent);
}

.u2-price-section__title {
	font-size: clamp(1.1rem, 1.8vw, 1.35rem);
	font-weight: 800;
	margin: 0;
}

.u2-price-card {
	padding: 20px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
	transition: all .15s ease;
}

.u2-price-card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: var(--u2-shadow-hover);
	transform: translateY(-2px);
}

.u2-price-card__name {
	font-size: 15px;
	font-weight: 700;
	color: var(--u2-text);
}

.u2-price-card__meta {
	font-size: 13px;
	color: var(--u2-muted);
	line-height: 1.45;
	flex: 1 1 auto;
}

.u2-price-card__pdf {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin-top: auto;
}

/* =========================================================
   TASK C — CATALOG / SHOP CARDS & FILTER
   ========================================================= */

/* Product cards stronger */
.us2-card {
	border-radius: var(--u2-radius);
	border: 1px solid var(--u2-border);
	background: var(--u2-surface);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	transition: all .15s ease;
}

.us2-card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: var(--u2-shadow-hover);
	transform: translateY(-2px);
}

.us2-card__media {
	aspect-ratio: 4 / 3;
	background: var(--u2-elev);
	position: relative;
	overflow: hidden;
}

.us2-card__thumb {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.us2-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.us2-card__thumb--placeholder {
	display: grid;
	place-items: center;
	color: var(--u2-muted);
}

.us2-card__thumb--placeholder::before {
	content: "";
	width: 48px;
	height: 48px;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center / contain;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center / contain;
	opacity: .25;
}

.us2-card__body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
}

.us2-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--u2-muted);
}

.us2-card__brand {
	font-weight: 700;
	color: var(--u2-text);
	text-decoration: none;
}

.us2-card__brand:hover {
	color: var(--u2-link);
}

.us2-card__sep {
	color: var(--u2-border-strong);
}

.us2-card__sku {
	color: var(--u2-muted);
}

.us2-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.us2-card__title a {
	color: inherit;
	text-decoration: none;
}

.us2-card__title a:hover {
	color: var(--u2-link);
}

.us2-card__excerpt {
	font-size: 13px;
	line-height: 1.45;
	color: var(--u2-muted);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.us2-card__price {
	margin-top: auto;
	padding-top: 8px;
}

.us2-card__price-value {
	font-size: 16px;
	font-weight: 800;
	color: var(--u2-text);
}

.us2-card__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.us2-card__compare {
	display: flex;
	justify-content: center;
}

.us2-card__compare .shop_compare_form_one {
	margin: 0;
}

/* Toolbar */
.u2-catalog-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	margin-bottom: 14px;
}

.u2-catalog-toolbar__primary {
	display: flex;
	align-items: center;
	gap: 10px;
}

.catalog-toolbar__found-strong {
	font-weight: 800;
}

.u2-catalog-toolbar__sort .sort-d {
	display: flex;
	align-items: center;
	gap: 8px;
}

.u2-catalog-toolbar__sort .sort-d select {
	padding: 8px 28px 8px 10px;
	border-radius: var(--u2-radius-sm);
	border: 1px solid var(--u2-border);
	background: var(--u2-bg);
	color: var(--u2-text);
	font-size: 13px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
}

/* Filter sidebar */
.u2-filter-sidebar {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 16px;
}

.u2-shop-filter-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.u2-shop-filter-sidebar__title {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Diafan filter form restyle inside sidebar */
.u2-shop-cat__diafan-filter .shop_search {
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
}

.u2-shop-cat__diafan-filter .shop_search__title {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 16px 0 10px;
	padding-top: 14px;
	border-top: 1px solid var(--u2-border);
}

.u2-shop-cat__diafan-filter .shop_search__title:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}

.u2-shop-cat__diafan-filter .shop_search_param {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 6px;
}

.u2-shop-cat__diafan-filter .shop_search_param label {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: var(--u2-radius-sm);
	cursor: pointer;
	font-size: 13px;
	transition: background .15s ease;
}

.u2-shop-cat__diafan-filter .shop_search_param label:hover {
	background: var(--u2-elev);
}

.u2-shop-cat__diafan-filter .shop_search_param input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--u2-accent);
	flex-shrink: 0;
}

.u2-shop-cat__diafan-filter .shop_search_param .shop_search_count {
	margin-left: auto;
	font-size: 11px;
	font-weight: 700;
	color: var(--u2-muted);
	background: var(--u2-elev);
	padding: 2px 6px;
	border-radius: 4px;
}

/* Filter group links */
.u2-filter-group__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.u2-filter-group__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 10px;
	border-radius: var(--u2-radius-sm);
	font-size: 13px;
	font-weight: 600;
	color: var(--u2-text);
	text-decoration: none;
	transition: background .15s ease;
}

.u2-filter-group__link:hover {
	background: var(--u2-elev);
}

.u2-filter-group__link.is-active {
	background: var(--u2-elev);
	color: var(--u2-accent);
}

.u2-filter-group__count {
	font-size: 11px;
	font-weight: 700;
	color: var(--u2-muted);
	background: var(--u2-bg);
	padding: 2px 6px;
	border-radius: 4px;
}

/* Active chips */
.u2-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.u2-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: var(--u2-elev);
	border: 1px solid var(--u2-border);
	color: var(--u2-text);
}

.u2-filter-chip button {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--u2-muted);
	line-height: 1;
}

/* Brand hero for /shop/fibarm/ */
.u2-brand-hero {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 24px;
	overflow: hidden;
}

.u2-brand-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-brand-hero > * {
	position: relative;
	z-index: 1;
}

.u2-brand-hero__eyebrow {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	margin: 0 0 10px;
}

.u2-brand-hero__title {
	font-size: clamp(1.6rem, 2.8vw, 2.2rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 10px;
}

.u2-brand-hero__lead {
	color: var(--u2-muted-on-dark);
	max-width: 70ch;
	margin: 0 0 16px;
}

.u2-brand-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* SEO block */
.usilenie-shop-seo {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 22px;
	margin-top: 32px;
}

.usilenie-shop-seo .u2-category-seo__surface {
	padding: 0;
}

.usilenie-shop-seo .u2-category-seo__rich {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

.usilenie-shop-seo .u2-category-seo__rich h2,
.usilenie-shop-seo .u2-category-seo__rich h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	border-bottom: 1px solid #eceae4;
	padding-bottom: 8px;
	margin-top: 0;
	margin-bottom: 14px;
}

.usilenie-shop-seo .u2-category-seo__rich p {
	margin-bottom: 12px;
}

.usilenie-shop-seo .u2-category-seo__more {
	margin-top: 16px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 600;
	color: var(--u2-text);
	background: var(--u2-elev);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius-sm);
	cursor: pointer;
	transition: all .15s ease;
}

.usilenie-shop-seo .u2-category-seo__more:hover {
	border-color: var(--u2-border-strong);
	background: var(--u2-surface-2);
}

/* =========================================================
   TASK D — PDP BODY & CTA FIX
   ========================================================= */

/* PDP body card sections */
.u2-pdp-desc__rich {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

.u2-pdp-desc__rich h2,
.u2-pdp-desc__rich h3 {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #1a1a1a;
	margin-top: 24px;
	margin-bottom: 10px;
	padding: 0 0 8px;
	border-bottom: 1px solid var(--u2-border);
	background: transparent;
	border-radius: 0;
}

.u2-pdp-desc__rich h2:first-child,
.u2-pdp-desc__rich h3:first-child {
	margin-top: 0;
}

.u2-pdp-desc__rich p {
	margin-bottom: 12px;
}

.u2-pdp-desc__rich ul {
	margin-bottom: 14px;
	padding-left: 20px;
}

.u2-pdp-desc__rich li {
	margin-bottom: 6px;
}

/* Remove duplicate CTA on PDP */
.page-product .cta-band .btn--primary[href*="feedback"],
.page-product .cta-band .btn--ghost[href*="feedback"] {
	white-space: nowrap;
}

/* Ensure only one primary CTA in commerce */
.u2-fv2-pdp-hero-commerce .u2-buy__btn--primary,
.u2-fv2-pdp-hero-commerce .offer-d__button_tocart {
	margin-bottom: 8px;
}

/* Compact related grid */
.u2-pdp-related-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 600px) {
	.u2-pdp-related-grid {
		grid-template-columns: 1fr;
	}
}

.u2-pdp-related-grid .card {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 18px;
	text-decoration: none;
	color: inherit;
	transition: all .15s ease;
}

.u2-pdp-related-grid .card:hover {
	border-color: var(--u2-border-strong);
	box-shadow: var(--u2-shadow-hover);
}

.u2-pdp-related-grid .card__title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 6px;
}

.u2-pdp-related-grid .card__text {
	font-size: 13px;
	color: var(--u2-muted);
	margin: 0;
}

/* =========================================================
   MOBILE SAFETY
   ========================================================= */

@media (max-width: 600px) {
	.u2-services-page,
	.u2-price-page {
		padding-inline: 14px;
	}

	.u2-services-page .u2-page-head,
	.u2-price-page .u2-page-head,
	.usilenie-objects-live__hero,
	.usilenie-object-detail__hero,
	.u2-brand-hero {
		padding: 22px 18px;
		border-radius: var(--u2-radius-sm);
	}

	.usilenie-object-detail__layout {
		gap: 16px;
	}

	.usilenie-object__facts {
		grid-template-columns: 1fr 1fr;
	}
}


/* =========================================================
   MISSING UTILITIES (detail pages)
   ========================================================= */

.usilenie-h2 {
	/* TYPO canon: align object-page section headings to the in-content section-H2
	   scale (.u2-cnt-h2): Space Grotesk 700, ~22–30px, normal case, tight tracking.
	   Was a 16px uppercase eyebrow — the flagged outlier. */
	font-family: var(--u2-font-heading);
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
	letter-spacing: -0.02em;
	text-transform: none;
}

.usilenie-page__h1 {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 900;
	margin: 0 0 12px;
}

.usilenie-muted {
	color: var(--u2-muted);
	font-size: 14px;
}


/* =========================================================
   MISSING — OBJECTS BREADCRUMBS & DEMO
   ========================================================= */


/* Object demo page */
.u2-object-demo {
	max-width: none;
	margin-inline: 0;
	padding: clamp(18px, 3vw, 28px) 0 48px;
}

.u2-object-demo .u2-page-head {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 28px;
	overflow: hidden;
}

.u2-object-demo .u2-page-head::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-object-demo .u2-page-head > * {
	position: relative;
	z-index: 1;
}

.u2-object-demo .u2-page-head__eyebrow {
	color: var(--u2-accent);
}

.u2-object-demo .u2-page-head__title {
	color: #fff;
}

.u2-object-demo .u2-page-head__lead {
	color: var(--u2-muted-on-dark);
}

.u2-object-demo__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

@media (max-width: 700px) {
	.u2-object-demo__facts {
		grid-template-columns: 1fr 1fr;
	}
}

.u2-object-demo__fact {
	padding: 12px;
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius-sm);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.u2-object-demo__dt {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.u2-object-demo__dd {
	font-size: 14px;
	font-weight: 700;
	color: var(--u2-text);
}

.u2-object-demo__gallery {
	padding: 28px;
	background: var(--u2-elev);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius-sm);
	display: grid;
	place-items: center;
	gap: 10px;
	color: var(--u2-muted);
}

.u2-object-demo__gallery-icon {
	opacity: .35;
}

.u2-object-demo__gallery-text {
	font-size: 13px;
}


/* =========================================================
   SYSTEM BANNER SUPPRESSION + MOBILE SAFETY
   ========================================================= */

/* USI-COOKIE (2026-06-10): keep suppressing the Diafan SUBSCRIPTION banner (.diafan_reminder), but
   SHOW the cookie-consent banner (.privacy_policy) — restyled to canon just below. The existing
   !important is retained ONLY on the subscription hide (must beat core's inline display). */
body.u2-shell .diafan_reminder {
	display: none !important;
}
/* Cookie-consent banner — canon dark panel, orange «Принять» (square). Site-wide (mirrored into
   u2-system.css via the _u2_chrome_port part so gated pages match). */
.privacy_policy { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9000; background: #0C0D10; color: rgba(234,230,221,0.86); border: 1px solid rgba(204,82,0,0.5); box-shadow: 0 10px 40px rgba(0,0,0,0.45); }
.privacy_policy__inner { max-width: var(--u2-container, 1280px); margin-inline: auto; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 15px clamp(16px, 3vw, 28px); }
.privacy_policy__text { font-size: 13px; line-height: 1.5; flex: 1 1 320px; }
.privacy_policy__text a { color: #CC5200; text-decoration: underline; }
.privacy_policy__close { flex: none; background: #CC5200; color: #ffffff; border: 0; cursor: pointer; font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 12px 30px; border-radius: 0; }
.privacy_policy__close:hover { background: #b34800; color: #ffffff; }
@media (max-width: 600px) { .privacy_policy { left: 10px; right: 10px; bottom: 10px; } .privacy_policy__close { width: 100%; } }

/* Prevent horizontal overflow on all viewports */
html,
body.u2-shell {
	overflow-x: hidden;
}

/* PHASE4 D1: keep the body offset by the fixed-header height on mobile too.
   Was padding-top:0 ≤600px while .site-header stays position:fixed (71px) → the hero
   eyebrow («Поставка·Расчёт·Усиление» / «Поиск по каталогу») was clipped under the header
   (gap −7 home / −38 search @390). Restoring var(--u2-header-h) makes ≤600px continuous
   with the 601–768px behaviour. @1920/1440 unaffected (they already use the base rule). */
@media (max-width: 600px) {
	body.u2-shell {
		padding-top: var(--u2-header-h);
	}
}
/* =============================================
   SERVICES PAGE V2 — Exact donor match
   ============================================= */

.u2-services-page-v2 {
	background: #F4F3F0;
}

/* --- Hero --- */
.u2-sv2-hero {
	background: #0C0D10;
	padding-bottom: 48px;
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,0.016) 0px, rgba(255,255,255,0.016) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255,255,255,0.016) 0px, rgba(255,255,255,0.016) 1px, transparent 1px, transparent 18px);
}

.u2-sv2-hero__inner {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
}



.u2-sv2-hero__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 40px;
}

.u2-sv2-hero__eyebrow {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #CC5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

body.u2-shell .u2-sv2-hero__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(2rem, 5vw, 3.6rem);
	font-weight: 800;
	color: #EAE6DD;
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin: 0;
}

.u2-sv2-hero__lead {
	font-family: var(--u2-font-body);
	font-size: 17px;
	color: rgba(234,230,221,0.5);
	line-height: 1.7;
	max-width: 560px;
	margin-top: 14px;
	margin-bottom: 0;
}

.u2-sv2-hero__cta {
	display: inline-block;
	padding: 13px 28px;
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s;
}

.u2-sv2-hero__cta:hover {
	background: #A84200;
}

/* Stats */
.u2-sv2-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.06);
}

.u2-sv2-stat {
	padding: 16px 20px;
	background: rgba(255,255,255,0.02);
	text-align: center;
}

.u2-sv2-stat__value {
	font-family: var(--u2-font-mono);
	font-size: 22px;
	font-weight: 800;
	color: #EAE6DD;
	letter-spacing: -0.04em;
	margin-bottom: 3px;
}

.u2-sv2-stat__label {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: rgba(234,230,221,0.4);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* --- Grid wrap --- */
.u2-sv2-grid-wrap {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 48px clamp(16px, 4vw, 28px) 80px;
}

/* --- Service cards --- */
.u2-sv2-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1px;
	background: #E2E0DA;
	border: 1px solid #E2E0DA;
}

@media (min-width: 768px) {
	.u2-sv2-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.u2-sv2-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.u2-sv2-card {
	display: block;
	text-decoration: none;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	padding: 32px;
	position: relative;
	overflow: hidden;
	transition: border-color 0.15s, box-shadow 0.15s;
	color: inherit;
}

.u2-sv2-card:hover {
	border-color: #CC5200;
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

.u2-sv2-card__bar {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #CC5200;
	transition: opacity 0.15s;
}

.u2-sv2-card:hover .u2-sv2-card__bar {
	opacity: 1 !important;
}

.u2-sv2-card__num {
	position: absolute;
	top: 20px;
	right: 24px;
	font-family: var(--u2-font-mono);
	font-size: 42px;
	font-weight: 800;
	color: rgba(12,13,16,0.04);
	letter-spacing: -0.06em;
	line-height: 1;
}

.u2-sv2-card__icon {
	width: 52px;
	height: 52px;
	background: rgba(204,82,0,0.07);
	border: 1px solid rgba(204,82,0,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #CC5200;
	margin-bottom: 20px;
}

.u2-sv2-card__subtitle {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #CC5200;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.u2-sv2-card__title {
	font-family: var(--u2-font-heading);
	font-size: 21px;
	font-weight: 700;
	color: #0C0D10;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin: 0 0 12px;
}

.u2-sv2-card__desc {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #6E6E78;
	line-height: 1.65;
	margin: 0 0 20px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.u2-sv2-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 20px;
}

.u2-sv2-card__tag {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	padding: 2px 8px;
	background: #F4F3F0;
	border: 1px solid #E2E0DA;
	color: #6E6E78;
	letter-spacing: 0.04em;
}

.u2-sv2-card__includes {
	list-style: none;
	margin: 0;
	padding: 16px 0 0;
	border-top: 1px solid #F0EEE8;
}

.u2-sv2-card__includes li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-family: var(--u2-font-body);
	font-size: 14px;
	color: #4A4A50;
	line-height: 1.5;
	margin-bottom: 5px;
}

.u2-sv2-card__includes li span {
	color: #CC5200;
	flex-shrink: 0;
	margin-top: 1px;
}

.u2-sv2-card__more {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #CC5200;
	margin-top: 4px;
	letter-spacing: 0.04em;
}

.u2-sv2-card__link {
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-family: var(--u2-font-body);
	font-size: 14px;
	color: #CC5200;
	letter-spacing: 0.04em;
}

/* --- Process strip --- */
.u2-sv2-process {
	margin-top: 56px;
	padding: 40px;
	background: #0C0D10;
	border-left: 4px solid #CC5200;
}

.u2-sv2-process__eyebrow {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #CC5200;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.u2-sv2-process__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

@media (min-width: 768px) {
	.u2-sv2-process__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.u2-sv2-step__num {
	font-family: var(--u2-font-mono);
	font-size: 28px;
	font-weight: 800;
	color: rgba(255,255,255,0.07);
	letter-spacing: -0.06em;
	margin-bottom: 6px;
	line-height: 1;
}

.u2-sv2-step__label {
	font-family: var(--u2-font-heading);
	font-size: 16px;
	font-weight: 700;
	color: #EAE6DD;
	margin-bottom: 6px;
}

.u2-sv2-step__desc {
	font-family: var(--u2-font-body);
	font-size: 14px;
	color: rgba(234,230,221,0.45);
	line-height: 1.6;
	margin: 0;
}

/* --- Bottom CTA --- */
.u2-sv2-cta {
	margin-top: 32px;
	padding: 36px 40px;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.u2-sv2-cta__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(1.2rem, 2.5vw, 1.8rem);
	font-weight: 700;
	color: #0C0D10;
	letter-spacing: -0.03em;
	margin: 0 0 6px;
}

.u2-sv2-cta__text {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #6E6E78;
}

.u2-sv2-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.u2-sv2-cta__btn {
	display: inline-block;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s;
}

.u2-sv2-cta__btn--primary {
	padding: 13px 28px;
	background: #CC5200;
	color: #fff;
}

.u2-sv2-cta__btn--primary:hover {
	background: #A84200;
}

.u2-sv2-cta__btn--secondary {
	padding: 13px 24px;
	background: transparent;
	color: #0C0D10;
	border: 1px solid #E2E0DA;
}

.u2-sv2-cta__btn--secondary:hover {
	border-color: #CC5200;
	color: #CC5200;
}
/* =============================================
   PRICE PAGE V2 — Exact donor match
   ============================================= */

.u2-price-page-v2 {
	background: #F4F3F0;
	min-height: 100vh;
}

/* --- Hero --- */
.u2-pv2-hero {
	background: #0C0D10;
	padding-top: 100px;
	padding-bottom: 48px;
	position: relative;
	overflow: hidden;
}

.u2-pv2-hero__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
	background-size: 48px 48px;
}

.u2-pv2-hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
}


.u2-pv2-hero__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.u2-pv2-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.u2-pv2-hero__eyebrow-line {
	width: 24px;
	height: 2px;
	background: #CC5200;
}

.u2-pv2-hero__eyebrow span:last-child {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #CC5200;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.u2-pv2-hero__title {
	font-family: var(--u2-font-heading);
	color: #EAE6DD;
	font-weight: 700;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	letter-spacing: -0.03em;
	margin: 0 0 12px;
}

.u2-pv2-hero__lead {
	font-family: var(--u2-font-body);
	font-size: 16px;
	color: rgba(234,230,221,0.45);
	max-width: 520px;
	line-height: 1.65;
	margin: 0;
}

.u2-pv2-hero__pdf {
	border: 1px solid rgba(255,255,255,0.1);
	padding: 20px 24px;
	background: rgba(255,255,255,0.03);
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

.u2-pv2-hero__pdf-label {
	font-family: var(--u2-font-mono);
	font-size: 9px;
	color: rgba(234,230,221,0.3);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.u2-pv2-hero__pdf-name {
	font-family: var(--u2-font-heading);
	font-size: 14px;
	font-weight: 600;
	color: #EAE6DD;
}

.u2-pv2-hero__pdf-meta {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: rgba(234,230,221,0.28);
	margin-top: 2px;
}

.u2-pv2-hero__pdf-actions {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.u2-pv2-hero__pdf-btn {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 9px 18px;
	cursor: pointer;
	border: none;
	text-decoration: none;
	transition: all 0.15s;
}

.u2-pv2-hero__pdf-btn--primary {
	background: #CC5200;
	color: #fff;
}

.u2-pv2-hero__pdf-btn--primary:hover {
	background: #A84200;
}

.u2-pv2-hero__pdf-btn--secondary {
	background: rgba(255,255,255,0.07);
	color: rgba(234,230,221,0.7);
	border: 1px solid rgba(255,255,255,0.1);
}

.u2-pv2-hero__pdf-btn--secondary:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
}

/* --- Tabs --- */
.u2-pv2-tabs {
	background: #0C0D10;
	border-bottom: 1px solid rgba(255,255,255,0.07);
}

.u2-pv2-tabs__inner {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
}

.u2-pv2-tabs__scroll {
	display: flex;
	overflow-x: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.u2-pv2-tabs__scroll::-webkit-scrollbar {
	display: none;
}

.u2-pv2-tab {
	flex-shrink: 0;
	padding: 14px 18px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	background: transparent;
	border: none;
	white-space: nowrap;
	color: rgba(234,230,221,0.4);
	border-bottom: 2px solid transparent;
	transition: color 0.15s, border-color 0.15s;
	text-decoration: none;
}

.u2-pv2-tab:hover {
	color: #EAE6DD;
}

.u2-pv2-tab--active {
	color: #EAE6DD;
	border-bottom: 2px solid #CC5200;
}

/* --- Table zone --- */
.u2-pv2-table-zone {
	padding: 32px 0;
}

.u2-pv2-table-zone__inner {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
}

/* Controls */
.u2-pv2-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.u2-pv2-search {
	display: flex;
	align-items: center;
	border: 1px solid #E2E0DA;
	background: #FFFFFF;
	max-width: 340px;
	flex: 1;
	padding: 0 12px;
	color: #A0A0A8;
}

.u2-pv2-search svg {
	flex-shrink: 0;
}

.u2-pv2-search input {
	flex: 1;
	border: none;
	outline: none;
	padding: 10px 0 10px 8px;
	font-family: var(--u2-font-body);
	font-size: 14px;
	color: #0C0D10;
	background: transparent;
	cursor: pointer;
}

.u2-pv2-controls__right {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.u2-pv2-count {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #6E6E78;
	letter-spacing: 0.04em;
}

.u2-pv2-kp-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 9px 20px;
	text-decoration: none;
	transition: background 0.15s;
	white-space: nowrap;
}

.u2-pv2-kp-btn:hover {
	background: #A84200;
}

/* Banner */
.u2-pv2-banner {
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	border-left: 3px solid #CC5200;
	padding: 14px 18px;
	margin-bottom: 16px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.u2-pv2-banner svg {
	flex-shrink: 0;
	margin-top: 2px;
}

.u2-pv2-banner p {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #6E6E78;
	line-height: 1.6;
	margin: 0;
}

.u2-pv2-banner strong {
	color: #0C0D10;
}

/* Table */
.u2-pv2-table-wrap {
	border: 1px solid #E2E0DA;
	overflow: hidden;
}

.u2-pv2-table-header {
	display: grid;
	grid-template-columns: 130px 1fr 150px 80px 120px 120px 100px 130px;
	background: #0C0D10;
}

.u2-pv2-table-header > div {
	padding: 10px 14px;
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: rgba(234,230,221,0.45);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-right: 1px solid rgba(255,255,255,0.06);
}

.u2-pv2-table-header > div:last-child {
	border-right: none;
}

.u2-pv2-table-row {
	display: grid;
	grid-template-columns: 130px 1fr 150px 80px 120px 120px 100px 130px;
	border-bottom: 1px solid #ECEAE4;
	align-items: center;
	transition: background 0.1s;
}

.u2-pv2-table-row:hover {
	background: #F4F3F0 !important;
}

.u2-pv2-cell {
	padding: 10px 14px;
	font-family: var(--u2-font-body);
	font-size: 13px;
	border-right: 1px solid #ECEAE4;
}

.u2-pv2-cell:last-child {
	border-right: none;
}

.u2-pv2-cell--article a {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	font-weight: 700;
	color: #CC5200;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.u2-pv2-cell--article a:hover {
	text-decoration: underline;
}

.u2-pv2-cell--name a {
	font-family: var(--u2-font-body);
	font-size: 14px;
	font-weight: 500;
	color: #0C0D10;
	text-decoration: none;
	line-height: 1.35;
}

.u2-pv2-cell--name a:hover {
	color: #CC5200;
}

.u2-pv2-cell--category {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #6E6E78;
	letter-spacing: 0.04em;
}

.u2-pv2-cell--unit {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #6E6E78;
	letter-spacing: 0.04em;
	text-align: center;
}

.u2-pv2-cell--pack {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #6E6E78;
	letter-spacing: 0.03em;
}

.u2-pv2-status {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
}

.u2-pv2-status__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.u2-pv2-status--stock {
	color: #2E7D5E;
}

/* USI-FIX11 (Задача Б): «Под заказ» — товар с ценой, но нет на складе (no_buy=1). Muted, без точки. */
.u2-pv2-status--order {
	color: var(--u2-muted, #6E6E78);
}

.u2-pv2-cell--price {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 600;
	color: #0C0D10;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 1.35;
}

.u2-pv2-cell--action {
	text-align: center;
	padding: 10px 12px;
}

.u2-pv2-row-btn {
	display: inline-block;
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 6px 12px;
	text-decoration: none;
	transition: background 0.15s;
	white-space: nowrap;
}

.u2-pv2-row-btn:hover {
	background: #A84200;
}

.u2-pv2-table-empty {
	padding: 60px 24px;
	text-align: center;
	background: #FFFFFF;
}

.u2-pv2-table-empty p {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	color: #A0A0A8;
	letter-spacing: 0.06em;
	margin: 0 0 12px;
}

.u2-pv2-table-empty a {
	background: transparent;
	border: none;
	color: #CC5200;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	cursor: pointer;
	letter-spacing: 0.06em;
	text-decoration: none;
}

/* Bottom CTA */
.u2-pv2-bottom-cta {
	background: #0C0D10;
	padding: 56px 0;
}

.u2-pv2-bottom-cta__inner {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.u2-pv2-bottom-cta__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	color: #EAE6DD;
	letter-spacing: -0.03em;
	margin: 0 0 10px;
}

.u2-pv2-bottom-cta__text {
	font-family: var(--u2-font-body);
	font-size: 16px;
	color: rgba(234,230,221,0.45);
	line-height: 1.65;
	max-width: 440px;
	margin: 0;
}

.u2-pv2-bottom-cta__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.u2-pv2-bottom-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 15px 36px;
	text-decoration: none;
	transition: background 0.15s;
	white-space: nowrap;
}

.u2-pv2-bottom-cta__btn:hover {
	background: #A84200;
}

/* Mobile responsive */
@media (max-width: 1100px) {
	.u2-pv2-table-header,
	.u2-pv2-table-row {
		grid-template-columns: 110px 1fr 130px 70px 100px 100px 90px 110px;
	}
}

@media (max-width: 980px) {
	.u2-pv2-table-header,
	.u2-pv2-table-row {
		display: none;
	}
	.u2-pv2-mobile-cards {
		display: block;
	}
}

@media (min-width: 981px) {
	.u2-pv2-mobile-cards {
		display: none;
	}
}

/* Mobile price cards — exact donor match */
.u2-pv2-mobile-card {
	background: #FFFFFF;
	border-bottom: 1px solid #E2E0DA;
	padding: 20px 16px;
}

.u2-pv2-mobile-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 10px;
}

.u2-pv2-mobile-card__top-left {
	flex: 1;
	min-width: 0;
}

.u2-pv2-mobile-card__article {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	font-weight: 700;
	color: #CC5200;
	letter-spacing: 0.06em;
	margin-bottom: 5px;
}

.u2-pv2-mobile-card__name {
	display: block;
	font-family: var(--u2-font-body);
	font-size: 16px;
	font-weight: 600;
	color: #0C0D10;
	text-decoration: none;
	line-height: 1.35;
}

.u2-pv2-mobile-card__name:hover {
	color: #CC5200;
}

.u2-pv2-mobile-card__category {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #A0A0A8;
	margin-top: 4px;
	letter-spacing: 0.04em;
}

.u2-pv2-mobile-card__status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #5C8A5C;
	flex-shrink: 0;
}

.u2-pv2-mobile-card__status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #5C8A5C;
}

/* USI-FIX11 (Задача Б): mobile «Под заказ» — muted, без точки. */
.u2-pv2-mobile-card__status--order {
	color: var(--u2-muted, #6E6E78);
}

.u2-pv2-mobile-card__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 12px;
	border-top: 1px solid #F4F3F0;
	gap: 10px;
}

.u2-pv2-mobile-card__meta {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	color: #6E6E78;
}

.u2-pv2-mobile-card__price-btn {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.u2-pv2-mobile-card__price {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	font-weight: 600;
	color: #0C0D10;
	text-align: right;
}

.u2-pv2-mobile-card__btn {
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
}

/* Hide Diafan breadcrumbs on custom page layouts */
/* Global breadcrumbs are now universal — no page-specific hiding */
/* .page-services .u2-breadcrumbs,
.page-price .u2-breadcrumbs,
.page-objects .u2-breadcrumbs,
.page-contacts .u2-breadcrumbs,
.page-docs .u2-breadcrumbs {
	display: none;
} */

/* Override container for V2 pages to match donor padding */
.u2-sv2-hero__inner,
.u2-sv2-grid-wrap,
.u2-pv2-hero__inner,
.u2-pv2-tabs__inner,
.u2-pv2-table-zone__inner,
.u2-pv2-bottom-cta__inner {
	max-width: none;
	padding-left: 24px;
	padding-right: 24px;
}

@media (min-width: 1024px) {
	.u2-sv2-hero__inner,
	.u2-sv2-grid-wrap,
	.u2-pv2-hero__inner,
	.u2-pv2-tabs__inner,
	.u2-pv2-table-zone__inner,
	.u2-pv2-bottom-cta__inner {
		padding-left: 64px;
		padding-right: 64px;
	}
}

@media (min-width: 1280px) {
	.u2-sv2-hero__inner,
	.u2-sv2-grid-wrap,
	.u2-pv2-hero__inner,
	.u2-pv2-tabs__inner,
	.u2-pv2-table-zone__inner,
	.u2-pv2-bottom-cta__inner {
		padding-left: 96px;
		padding-right: 96px;
	}
}

/* =========================================================
   CATEGORY PAGE — V2 CARD TRANSPLANT (2026-05-15)
   ========================================================= */

/* Grid cell wrapper */
.u2-card-cell {
	background: #F4F3F0;
	padding: 1px;
	display: flex;
}

/* Card v2 — donor-exact ProductCard */
.u2-card-v2 {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	height: 100%;
	transition: box-shadow 0.15s, border-color 0.15s;
}

.u2-card-v2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: #CC5200;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s;
	z-index: 1;
}

.u2-card-v2:hover::before {
	transform: scaleX(1);
}

.u2-card-v2:hover {
	box-shadow: 0 4px 28px rgba(0, 0, 0, 0.10);
	border-color: #C0BEB8;
}

/* Media */
.u2-card-v2__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #f6f6f6;
	overflow: hidden;
}

.u2-card-v2__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.u2-card-v2__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
	transition: transform 0.3s ease;
}

.u2-card-v2:hover .u2-card-v2__thumb img {
	transform: scale(1.03);
}

.u2-card-v2__thumb--placeholder {
	background: #f0efeb;
}

.u2-card-v2__ph-icon {
	display: block;
	width: 48px;
	height: 48px;
	background: url('/img/dummyimage.svg') center no-repeat;
	background-size: contain;
	opacity: 0.35;
}

/* Body */
.u2-card-v2__body {
	padding: 14px 16px 16px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Top row: article + status */
.u2-card-v2__top-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 7px;
	gap: 8px;
}

.u2-card-v2__article {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 700;
	color: #CC5200;
	letter-spacing: 0.07em;
}

.u2-card-v2__status {
	display: flex;
	align-items: center;
	gap: 4px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	flex-shrink: 0;
	margin-left: auto;
}

.u2-card-v2__status-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	flex-shrink: 0;
}

/* Tags */
.u2-card-v2__tags {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-bottom: 9px;
}

.u2-card-v2__tag {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	letter-spacing: 0.05em;
	padding: 2px 8px;
	text-decoration: none;
	flex-shrink: 0;
}

.u2-card-v2__tag--brand {
	color: #3A3A42;
	background: #F4F3F0;
	border: 1px solid #D8D6D0;
}

.u2-card-v2__tag--brand:hover {
	border-color: #0C0D10;
}

.u2-card-v2__tag--cat {
	color: #CC5200;
	background: rgba(204, 82, 0, 0.06);
	border: 1px solid rgba(204, 82, 0, 0.22);
}

/* Title */
.u2-card-v2__title {
	font-family: var(--u2-font-heading);
	font-size: 19px;
	font-weight: 700;
	color: #0C0D10;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin: 0 0 12px;
	flex: 1;
}

.u2-card-v2__title a {
	color: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.u2-card-v2__title a:hover {
	color: #CC5200;
}

/* Description (donor-like, replaces spec table) */
.u2-card-v2__desc {
	font-family: var(--u2-font-body);
	font-size: 13px;
	line-height: 1.5;
	color: #6E6E78;
	margin: 0 0 12px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Specs */
.u2-card-v2__specs {
	border-top: 1px solid #ECEAE4;
	padding-top: 9px;
	margin-bottom: 11px;
}

.u2-card-v2__spec-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 4px 0;
	border-bottom: 1px solid #ECEAE4;
	gap: 8px;
}

.u2-card-v2__spec-label {
	font-family: var(--u2-font-body);
	font-size: 13px;
	color: #9A9AA2;
}

.u2-card-v2__spec-value {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	font-weight: 600;
	color: #3A3A42;
	text-align: right;
}

/* Price */
.u2-card-v2__price {
	margin-bottom: 12px;
}

.u2-card-v2__price-value {
	font-family: var(--u2-font-mono);
	font-size: 14px;
	font-weight: 700;
	color: #0C0D10;
	letter-spacing: -0.01em;
}

/* Actions */
.u2-card-v2__actions {
	display: flex;
	gap: 8px;
	margin-top: auto;
}

.u2-card-v2__btn-kp {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 12px;
	background: #CC5200;
	color: #FFFFFF;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s;
}

.u2-card-v2__btn-kp:hover {
	background: #A84200;
}

.u2-card-v2__compare {
	flex-shrink: 0;
}

.u2-card-v2__compare .compare-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid #E2E0DA;
	cursor: pointer;
	background: transparent;
	color: #A0A0A8;
	transition: all 0.15s;
}

.u2-card-v2__compare .compare-ico:hover {
	border-color: #CC5200;
	color: #CC5200;
}

.u2-card-v2__compare .compare-ico__label {
	display: none;
}

/* Click-through for entire card */
.u2-card-v2[data-href] {
	cursor: pointer;
}



/* =========================================================
   CATEGORY PAGE — ACTIVE FILTERS, EMPTY STATE, INFO BAR
   ========================================================= */

/* Active filter chips */
.u2-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 20px;
}

.u2-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px;
	background: #0C0D10;
	border: none;
	color: rgba(234, 230, 221, 0.75);
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: background 0.12s;
}

.u2-filter-chip:hover {
	background: #CC5200;
	color: #fff;
}

.u2-filter-chip__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* USI-FILTER-FIGMA (2026-05-31): the selected-category chip (accent-filled, removable →
   /shop/) + a single "Сбросить всё" reset. The found-count now lives only in the toolbar
   above; the old .u2-shop-filtered-bar duplicate plashka is no longer emitted. */
.u2-filter-chip--category {
	background: var(--u2-accent);
	color: #fff;
}
.u2-filter-chip--category:hover {
	background: var(--u2-accent-hover);
	color: #fff;
}
.u2-filter-chips__reset {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
	padding: 6px 4px;
	background: transparent;
	color: #6E6E78;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.12s;
}
.u2-filter-chips__reset:hover {
	color: var(--u2-accent);
}

/* Filtered info bar */
.u2-shop-filtered-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 14px 20px;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	margin-bottom: 16px;
}

.u2-shop-filtered-bar__text {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #3A3A42;
}

.u2-shop-filtered-bar__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.u2-shop-filtered-bar__reset {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #6E6E78;
	background: transparent;
	border: 1px solid #E2E0DA;
	padding: 6px 14px;
	letter-spacing: 0.06em;
	text-decoration: none;
	cursor: pointer;
}

.u2-shop-filtered-bar__reset:hover {
	border-color: #999;
	color: #333;
}

.u2-shop-filtered-bar__analog {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #CC5200;
	text-decoration: none;
	border: 1px solid rgba(204, 82, 0, 0.3);
	padding: 6px 14px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.u2-shop-filtered-bar__analog:hover {
	background: rgba(204, 82, 0, 0.06);
}

/* Empty state v2 */
.u2-shop-empty-v2 {
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	padding: 64px 32px;
	text-align: center;
}

.u2-shop-empty-v2__icon {
	margin-bottom: 20px;
	opacity: 0.3;
}

.u2-shop-empty-v2__title {
	font-family: var(--u2-font-heading);
	font-size: 20px;
	font-weight: 700;
	color: #0C0D10;
	letter-spacing: -0.025em;
	margin: 0 0 10px;
}

.u2-shop-empty-v2__text {
	font-size: 16px;
	color: #6E6E78;
	line-height: 1.65;
	max-width: 380px;
	margin: 0 auto 24px;
}

.u2-shop-empty-v2__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.u2-shop-btn--dark {
	padding: 12px 28px;
	background: #0C0D10;
	color: #fff;
	border: none;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.u2-shop-btn--dark:hover {
	background: #333;
}

.u2-shop-btn--outline {
	padding: 11px 24px;
	background: transparent;
	color: #CC5200;
	border: 1px solid rgba(204, 82, 0, 0.3);
	font-family: var(--u2-font-body);
	font-size: 15px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
}

.u2-shop-btn--outline:hover {
	background: rgba(204, 82, 0, 0.06);
}

/* =========================================================
   PAGINATION — donor-exact styling
   ========================================================= */

.usilenie-shop-paginator .paginator,
.usilenie-shop-paginator .pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin-top: 32px;
	flex-wrap: wrap;
}

.usilenie-shop-paginator .paginator a,
.usilenie-shop-paginator .paginator span,
.usilenie-shop-paginator .pagination a,
.usilenie-shop-paginator .pagination span,
.usilenie-shop-paginator .paginator__item,
.usilenie-shop-paginator .pagination__item {
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	color: #6E6E78;
	font-family: var(--u2-font-mono);
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.usilenie-shop-paginator .paginator a:hover,
.usilenie-shop-paginator .pagination a:hover {
	background: #F4F3F0;
	border-color: #D8D6D0;
}

.usilenie-shop-paginator .paginator .active,
.usilenie-shop-paginator .paginator .current,
.usilenie-shop-paginator .pagination .active,
.usilenie-shop-paginator .pagination .current,
.usilenie-shop-paginator .paginator__item--active,
.usilenie-shop-paginator .pagination__item--active {
	background: #0C0D10 !important;
	border-color: #0C0D10 !important;
	color: #fff !important;
}

.usilenie-shop-paginator .paginator .dots,
.usilenie-shop-paginator .paginator__item--dots,
.usilenie-shop-paginator .pagination__item--dots {
	background: transparent;
	border-color: transparent;
	cursor: default;
}

/* ============================================================
   DOCS V2 — Grouped list/table (donor-exact transplant)
   ============================================================ */

.u2-docs-page--v2 .u2-docs-hero {
	padding-bottom: 32px;
}

.u2-docs-body {
	padding-top: 24px;
	padding-bottom: 64px;
}

.u2-docs-tabs-v2 {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	margin-bottom: 20px;
}

.u2-docs-tab-v2 {
	display: inline-flex;
	align-items: center;
	padding: 12px 16px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(12,13,16,0.45);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.15s, border-color 0.15s;
}

.u2-docs-tab-v2:hover {
	color: rgba(12,13,16,0.75);
}

.u2-docs-tab-v2.is-active {
	color: #0c0d10;
	border-bottom-color: var(--u2-accent);
}

.u2-docs-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.u2-docs-count {
	font-size: 14px;
	color: #6E6E78;
}

.u2-docs-download-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: var(--u2-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
}

.u2-docs-download-all:hover {
	background: #b34700;
}

.u2-docs-groups {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.u2-docs-group__header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: #1a1a1a;
	color: #fff;
	border-radius: 6px 6px 0 0;
}

.u2-docs-group__icon {
	display: inline-flex;
	color: var(--u2-accent);
}

.u2-docs-group__title {
	font-family: var(--u2-font-heading);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.u2-docs-group__count {
	margin-left: auto;
	font-size: 12px;
	color: rgba(255,255,255,0.55);
}

.u2-docs-group__rows {
	background: #fff;
	border: 1px solid #ECEAE4;
	border-top: none;
	border-radius: 0 0 6px 6px;
	padding: 16px;
}

.u2-docs-row--empty {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.u2-docs-row--empty p {
	margin: 0;
	font-size: 14px;
	color: #6E6E78;
}

.u2-docs-row__action {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid #0c0d10;
	color: #0c0d10;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 4px;
	white-space: nowrap;
}

.u2-docs-row__action:hover {
	background: #0c0d10;
	color: #fff;
}

.u2-docs-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 40px;
}

@media (max-width: 980px) {
	.u2-docs-info-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.u2-docs-tabs-v2 {
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.u2-docs-info-grid {
		grid-template-columns: 1fr;
	}
	.u2-docs-toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

.u2-docs-info-card {
	background: #fff;
	border: 1px solid #ECEAE4;
	border-radius: 6px;
	padding: 20px;
}

.u2-docs-info-card__icon {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	background: rgba(204,82,0,0.08);
	color: var(--u2-accent);
	margin-bottom: 12px;
}

.u2-docs-info-card__title {
	font-family: var(--u2-font-heading);
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 6px;
	color: #0c0d10;
}

.u2-docs-info-card__text {
	font-size: 13px;
	line-height: 1.5;
	color: #6E6E78;
	margin: 0;
}

/* ---------- Objects placeholder polish ---------- */
.usilenie-objects-live__photo-fallback {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--u2-muted);
	font-size: 13px;
	background:
		radial-gradient(ellipse 120% 80% at 20% 20%, rgba(204, 82, 0, 0.10), transparent 50%),
		linear-gradient(145deg, #f5f4f0, #eceae4);
}
.usilenie-objects-live__photo-fallback svg {
	width: 56px;
	height: 56px;
	opacity: .45;
}
.usilenie-objects-live__photo-fallback-cap {
	display: block;
	margin-top: 8px;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: .7;
}

/* ---------- Objects map placeholder polish ---------- */
.u2-objects-map-shell__map {
	position: relative;
	min-height: 320px;
	background:
		linear-gradient(135deg, #1a1a1e 0%, #25252b 100%);
	border-radius: var(--u2-radius);
	overflow: hidden;
}
.u2-objects-map-shell__map::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 1;
}
.u2-objects-map-shell__map p {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: rgba(234, 230, 221, 0.7);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 24px;
	z-index: 1;
}
.u2-objects-map-shell__map p span {
	font-size: 12px;
	opacity: .6;
	font-weight: 400;
}

/* ---------- Category mobile card polish ---------- */
@media (max-width: 560px) {
	.p-card {
		min-height: auto;
	}
	.p-card__thumb {
		height: 180px;
	}
}

/* =========================================================
   CONTACTS V2 — Donor-aligned transplant
   ========================================================= */

/* A. Dark hero */
.u2-contacts-hero {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	border-radius: var(--u2-radius);
	margin-bottom: 24px;
	overflow: hidden;
}

.u2-contacts-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-contacts-hero .u2-container {
	position: relative;
	z-index: 1;
}

.u2-contacts-hero .u2-label {
	margin: 0 0 10px;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	font-weight: 700;
}

.u2-contacts-hero .u2-page-h1 {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(1.8rem, 3.2vw, 2.6rem);
}

.u2-contacts-hero .u2-lead {
	margin: 0;
	color: var(--u2-muted-on-dark);
	max-width: 78ch;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

/* B. Contact + Map */
.u2-contacts-info {
	/* USI-CONTACTS (2026-06-27): restore the canon section top rhythm — the map+requisites were
	   flush against the dark hero (padding-top:0 stuck them to the black block). Matches .section. */
	padding-top: clamp(40px, 5vw, 72px);
}

.u2-contacts-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
}

.u2-contacts-col {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.u2-contacts-col .u2-label {
	margin: 0;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	font-weight: 700;
}

.u2-contacts-card {
	background: var(--u2-surface);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.u2-contacts-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.u2-contacts-row--2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.u2-contacts-label {
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--u2-muted);
	font-weight: 600;
}

.u2-contacts-value {
	font-size: 1rem;
	color: var(--u2-text);
	font-weight: 500;
	text-decoration: none;
}

.u2-contacts-value--big {
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	font-weight: 700;
	font-family: var(--u2-font-heading);
	letter-spacing: -0.02em;
	color: var(--u2-text);
}

.u2-contacts-note {
	font-size: 0.85rem;
	color: var(--u2-muted);
}

.u2-contacts-messengers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.u2-messenger-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: var(--u2-radius-sm);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid var(--u2-border);
	background: var(--u2-surface-2);
	color: var(--u2-text);
	transition: background 0.15s, border-color 0.15s;
}

.u2-messenger-btn:hover {
	background: var(--u2-elev);
	border-color: var(--u2-border-strong);
	text-decoration: none;
}

.u2-messenger-btn--tg:hover {
	color: #229ed9;
	border-color: #229ed9;
}

.u2-messenger-btn--wa:hover {
	color: #25d366;
	border-color: #25d366;
}

.u2-contacts-map-shell {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 380px;
	border-radius: var(--u2-radius);
	overflow: hidden;
	border: 1px solid var(--u2-border);
	background: var(--u2-surface-2);
}

.u2-contacts-map-shell iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* C. Form / CTA section */
.u2-contacts-form-section {
	background: var(--u2-surface-2);
	border-block: 1px solid var(--u2-border);
}

.u2-contacts-form-section .u2-section-h2 {
	margin: 0 0 28px;
	font-size: clamp(1.45rem, 2.5vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	font-family: var(--u2-font-heading);
}

.u2-contacts-form-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.u2-contacts-form-cta {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
}

.u2-contacts-form-cta .u2-text {
	margin: 0;
	color: var(--u2-muted);
	max-width: 52ch;
}

.u2-contacts-form-cta .u2-btn--lg {
	padding: 14px 28px;
	font-size: 1.05rem;
}

.u2-contacts-form-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.u2-contacts-form-info .u2-label {
	margin: 0;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--u2-accent);
	font-weight: 700;
}

.u2-contacts-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.u2-contacts-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.95rem;
	color: var(--u2-text);
}

.u2-check-num {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 4px;
	background: var(--u2-dark);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	font-family: var(--u2-font-mono);
}

.u2-contacts-response {
	background: var(--u2-dark);
	color: var(--u2-text-on-dark);
	padding: 20px;
	border-radius: var(--u2-radius-sm);
}

.u2-contacts-response .u2-label {
	color: var(--u2-accent);
	margin-bottom: 8px;
}

.u2-contacts-response p {
	margin: 0 0 6px;
	font-size: 0.92rem;
	color: var(--u2-muted-on-dark);
}

.u2-contacts-response p:last-child {
	margin-bottom: 0;
}

/* D. Requisites */
.u2-contacts-requisites {
	padding-bottom: 0;
}

.u2-contacts-requisites .u2-section-h2 {
	margin: 0 0 24px;
	font-size: clamp(1.45rem, 2.5vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	font-family: var(--u2-font-heading);
}

.u2-req-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.u2-req-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.u2-req-table th,
.u2-req-table td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--u2-border);
}

.u2-req-table th {
	width: 32%;
	font-weight: 500;
	color: var(--u2-muted);
	background: var(--u2-surface-2);
	font-size: 0.88rem;
}

.u2-req-table td {
	color: var(--u2-text);
	font-weight: 600;
	background: var(--u2-surface);
}

.u2-req-table tr:last-child th,
.u2-req-table tr:last-child td {
	border-bottom: 0;
}

/* Responsive */
@media (max-width: 980px) {
	.u2-contacts-layout,
	.u2-contacts-form-layout {
		grid-template-columns: 1fr;
	}

	.u2-contacts-map-shell {
		min-height: 300px;
	}

	.u2-contacts-row--2col {
		grid-template-columns: 1fr;
	}

	.u2-req-table th {
		width: 40%;
	}
}

@media (max-width: 640px) {
	.u2-contacts-hero {
		border-radius: 0;
		margin-inline: calc(-1 * clamp(16px, 4vw, 28px));
	}

	.u2-contacts-map-shell {
		min-height: 260px;
	}

	.u2-req-table th,
	.u2-req-table td {
		padding: 12px 14px;
		font-size: 0.88rem;
	}

	.u2-req-table th {
		width: 45%;
	}
}


/* =============================================
   OBJECTS PAGE V2 — Figma V2 rebuild
   ============================================= */

/* Outline button variant */
.us2-btn--outline {
	background: transparent;
	border: 1.5px solid currentColor;
	color: inherit;
}
.us2-btn--outline:hover {
	opacity: 0.85;
}

/* =============================================
   OBJECTS PAGE V2 — Full visual rebuild
   ============================================= */


/* ---------- Hero + Stats (unified dark block) ---------- */
.u2-objects-hero-v2 {
	position: relative;
	background: #0c0d10;
	color: #eae6dd;
	padding: clamp(36px, 5vw, 56px) 0 clamp(24px, 3vw, 36px);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
}

.u2-objects-hero-v2::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(204, 82, 0, 0.08) 0%, transparent 50%),
		repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 12px);
	pointer-events: none;
}

.u2-objects-hero-v2__inner {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 28px);
	gap: 24px;
}

.u2-objects-hero-v2__eyebrow {
	color: #cc5200;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	margin: 0 0 10px;
}

.u2-objects-hero-v2__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(2rem, 5vw, 3.6rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	margin: 0;
	color: #fff;
	line-height: 1.05;
}

/* Stats inside hero */
.u2-objects-hero-v2__stats {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(255,255,255,0.06);
	max-width: 1240px;
	margin: 32px auto 0;
	padding: 0 clamp(16px, 4vw, 28px);
}

.u2-objects-hero-v2__stats-item {
	text-align: center;
	background: rgba(255,255,255,0.02);
	padding: 16px 20px;
}

.u2-objects-hero-v2__stats-num {
	display: block;
	font-family: var(--u2-font-heading);
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	font-weight: 700;
	color: #eae6dd;
	line-height: 1.2;
}

.u2-objects-hero-v2__stats-label {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: rgba(234,230,221,0.4);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ---------- Geo-Section ---------- */
.u2-objects-geo-section {
	background: #F2F0EA;
	border: 1px solid #D8D6D0;
	position: relative;
	overflow: hidden;
	min-height: 430px;
	margin-top: 0;
}

.u2-objects-geo-section__header {
	position: absolute;
	top: 12px;
	left: 16px;
	right: 16px;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px;
	pointer-events: none;
}

.u2-objects-geo-section__header > * {
	pointer-events: auto;
}

.u2-objects-geo-section__label {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: #A0A0A8;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.u2-objects-geo-section__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.u2-objects-geo-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--u2-font-mono);
	font-size: 9px;
	color: #8A8A92;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.u2-objects-geo-legend__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	flex-shrink: 0;
}

.u2-objects-geo-svg-wrap {
	width: 100%;
	height: 430px;
}

.u2-objects-geo-svg {
	width: 100%;
	height: 100%;
	display: block;
}

.u2-objects-geo-yandex-wrap {
	width: 100%;
	height: 430px;
}

.u2-objects-geo-yandex-wrap[hidden] {
	display: none;
}

.u2-objects-geo-toggle-btn {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	padding: 10px 20px;
	background: #fff;
	border: 1px solid #D8D6D0;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all .15s ease;
}

.u2-objects-geo-toggle-btn:hover {
	background: #f4f3f0;
}

/* ---------- Filters / Chips ---------- */
.u2-objects-filters-legacy[hidden] {
	display: none;
}

.u2-objects-filters-v2 {
	background: #fff;
	border-top: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	padding: 14px 0;
}

.u2-objects-filters-v2__inner {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 28px);
}

.u2-objects-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	border: none;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.05em;
	text-decoration: none;
	white-space: nowrap;
	min-height: 44px;
	background: #f4f3f0;
	color: #6e6e78;
	transition: all 0.15s;
	cursor: pointer;
}

.u2-objects-filter-chip.is-active {
	background: #0c0d10;
	color: #eae6dd;
	outline: 2px solid #cc5200;
	outline-offset: -2px;
}

.u2-objects-filter-chip:hover:not(.is-active) {
	background: #eceae4;
	color: #454d54;
}

/* ---------- Card Grid ---------- */
.u2-objects-grid-v2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #E2E0DA;
	border: 1px solid #E2E0DA;
	max-width: 1240px;
	margin: 0 auto;
}

@media (max-width: 1024px) {
	.u2-objects-grid-v2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.u2-objects-grid-v2 {
		grid-template-columns: 1fr;
	}
}

/* ---------- Card V2 ---------- */
.u2-object-card-v2 {
	background: #fff;
	border: none;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.15s;
	display: flex;
	flex-direction: column;
}

.u2-object-card-v2:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.10);
	z-index: 1;
}

.u2-object-card-v2__topline {
	height: 3px;
	flex-shrink: 0;
}

/* Type colors */
.u2-object-card-v2[data-type="1"] .u2-object-card-v2__topline { background: #2c7cb0; }
.u2-object-card-v2[data-type="2"] .u2-object-card-v2__topline { background: #8e44ad; }
.u2-object-card-v2[data-type="3"] .u2-object-card-v2__topline { background: #cc5200; }
.u2-object-card-v2[data-type="4"] .u2-object-card-v2__topline { background: #27ae60; }
.u2-object-card-v2[data-type="5"] .u2-object-card-v2__topline { background: #c0392b; }
.u2-object-card-v2[data-type="6"] .u2-object-card-v2__topline { background: #f39c12; }
.u2-object-card-v2[data-type="7"] .u2-object-card-v2__topline { background: #16a085; }
.u2-object-card-v2[data-type="8"] .u2-object-card-v2__topline { background: #d35400; }
.u2-object-card-v2[data-type="9"] .u2-object-card-v2__topline { background: #2980b9; }
.u2-object-card-v2[data-type="10"] .u2-object-card-v2__topline { background: #e74c3c; }
.u2-object-card-v2[data-type="11"] .u2-object-card-v2__topline { background: #1abc9c; }

.u2-object-card-v2__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--u2-surface-2);
}

.u2-object-card-v2__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}

.u2-object-card-v2:hover .u2-object-card-v2__img {
	transform: scale(1.03);
}

.u2-object-card-v2__body {
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 6px;
}

.u2-object-card-v2__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 9px;
	background: color-mix(in srgb, var(--badge-color, #6e6e78) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--badge-color, #6e6e78) 19%, transparent);
	margin-bottom: 4px;
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: var(--badge-color, #6e6e78);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
}

.u2-object-card-v2__year-watermark {
	position: absolute;
	top: 14px;
	right: 18px;
	font-family: var(--u2-font-mono);
	font-size: 22px;
	font-weight: 700;
	color: rgba(0,0,0,0.06);
	letter-spacing: -0.04em;
	line-height: 1;
	pointer-events: none;
}

.u2-object-card-v2__title {
	font-family: var(--u2-font-heading);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}

.u2-object-card-v2__title a {
	color: var(--u2-text);
	text-decoration: none;
	transition: color .15s ease;
}

.u2-object-card-v2__title a:hover {
	color: var(--u2-link);
}

.u2-object-card-v2__task {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: var(--badge-color, #6e6e78);
	letter-spacing: 0.05em;
	margin: 0;
	line-height: 1.4;
}

.u2-object-card-v2__solution {
	font-size: 13px;
	color: #3a3a42;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.u2-object-card-v2__solution > *:last-child {
	margin-bottom: 0;
}

.u2-object-card-v2__materials {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
	padding-top: 8px;
}

.u2-object-card-v2__material {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #6e6e78;
	padding: 2px 8px;
	background: #f4f3f0;
	border: 1px solid #e2e0da;
}

.u2-object-card-v2__footer {
	margin-top: auto;
	padding: 12px 22px;
	border-top: 1px solid #f0eee8;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	background: #fafaf8;
}

.u2-object-card-v2__loc {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #8a8a92;
	letter-spacing: 0.04em;
}

.u2-object-card-v2__loc svg {
	flex-shrink: 0;
}

.u2-object-card-v2__link {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #cc5200;
	letter-spacing: 0.04em;
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s ease;
}

.u2-object-card-v2__link:hover {
	color: #a84200;
}

/* ---------- Pagination ---------- */
.usilenie-objects-live__pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 24px 0;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	color: #8a8a92;
}

/* ---------- Bottom CTA V2 ---------- */
/* F1 (2026-06-08): CTA band CENTERED (owner эталон = «Нужна консультация по проекту?»).
   SOLID #0C0D10, no texture. Centered column: eyebrow → title → text → buttons, all centered.
   (Reverted the rejected horizontal lead-left/actions-right bar; token fixes kept.) */
.u2-objects-cta-v2 {
	background: #0c0d10;
	color: #eae6dd;
	padding: clamp(40px, 6vw, 56px) clamp(20px, 4vw, 28px);
	width: 100%;
	margin-top: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 22px;
}

.u2-objects-cta-v2__lead {
	max-width: 640px;
}

.u2-objects-cta-v2__eyebrow {
	font-family: var(--u2-font-mono);
	color: #cc5200;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 700;
	margin: 0 0 8px;
}

.u2-objects-cta-v2__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(1.25rem, 2.5vw, 1.8rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	margin: 0;
	color: #eae6dd; /* R-T8/A2: creamy off-white on dark CTA band — matches Figma #EAE6DD */
}

.u2-objects-cta-v2__text {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: rgba(234, 230, 221, 0.5);
	max-width: 560px;
	margin: 10px auto 0;
	line-height: 1.6;
}

.u2-objects-cta-v2__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

/* band buttons → Figma: Space Mono 13px; secondary = subtle white-glass (not cream border) */
.u2-objects-cta-v2 .us2-btn {
	font-family: var(--u2-font-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	padding: 13px 24px;
}

.u2-objects-cta-v2 .us2-btn--outline {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(234, 230, 221, 0.7);
}

.u2-objects-cta-v2 .us2-btn--outline:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.2);
	color: #eae6dd;
	opacity: 1;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
	.u2-objects-hero-v2__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.u2-objects-hero-v2__stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.u2-objects-geo-section {
		min-height: 300px;
	}

	.u2-objects-geo-svg-wrap,
	.u2-objects-geo-yandex-wrap {
		height: 300px;
	}

	/* F1: CTA band stays centered column on tablet/mobile */
	.u2-objects-cta-v2 {
		gap: 18px;
	}
}

@media (max-width: 480px) {
	.u2-objects-hero-v2__stats {
		grid-template-columns: 1fr 1fr;
	}

	.u2-objects-cta-v2__actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* Prefooter CTA for static pages */
.u2-prefooter-cta {
	background: #0C0D10;
	padding: 56px 0;
}

.u2-prefooter-cta__inner {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding: 0 clamp(16px, 4vw, 28px);
	display: flex;
	flex-direction: column; /* F1: centered (owner — unify ALL CTA bands centered) */
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 22px;
}

.u2-prefooter-cta__title {
	font-family: var(--u2-font-heading);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	color: #EAE6DD;
	letter-spacing: -0.03em;
	margin: 0 0 10px;
}

.u2-prefooter-cta__text {
	font-family: var(--u2-font-body);
	font-size: 16px;
	color: rgba(234,230,221,0.45);
	line-height: 1.65;
	max-width: 440px;
	margin: 0 auto; /* F1: center */
}

.u2-prefooter-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #CC5200;
	color: #fff;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 15px 36px;
	text-decoration: none;
	transition: background 0.15s;
	white-space: nowrap;
}

.u2-prefooter-cta__btn:hover {
	background: #A84200;
}

@media (max-width: 768px) {
	.u2-prefooter-cta__inner {
		flex-direction: column;
		align-items: center;
	}
}

/* ================================================================
   Prompt 04 — Root catalog brand filter additions
   Scoped to body.page-shop to avoid leaking to other pages.
   Added at end of file; no existing selectors modified.
   ================================================================ */

body.page-shop .u2-shop-root-brand {
	margin-top: 1.5rem;
}

body.page-shop .u2-shop-root-brand .u2-filter-search {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--u2-border);
	border-radius: 0.375rem;
	font-family: inherit;
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
	background: var(--u2-surface);
	color: var(--u2-text);
}

body.page-shop .u2-shop-root-brand .u2-filter-search::placeholder {
	color: var(--u2-text-muted);
}

body.page-shop .u2-shop-root-brand .u2-filter__option-count {
	margin-left: auto;
	font-size: 0.75rem;
	color: var(--u2-text-muted);
	padding-left: 0.5rem;
	white-space: nowrap;
}

body.page-shop .u2-shop-root-brand .u2-filter__actions {
	margin-top: 1rem;
}

@media (max-width: 767px) {
	body.page-shop .u2-shop-root-brand .u2-filter__actions {
		display: flex;
		gap: 0.5rem;
	}
}

/* === PDP enhancements (prompts/05) === */

/* Gallery */
.u2-pdp__gallery-stage .shop_id_img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-height: 520px;
}
.u2-pdp__gallery-thumbs-col {
	margin-top: 12px;
}
.u2-pdp__gallery-thumbs-col .gall-d__list {
	gap: 8px;
}
.u2-pdp__gallery-thumbs-col .slide-d {
	width: 72px;
	height: 72px;
	border-radius: 8px;
	border: 2px solid transparent;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.15s ease;
}
.u2-pdp__gallery-thumbs-col .slide-d img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.u2-pdp__gallery-thumbs-col .slide-d:hover,
.u2-pdp__gallery-thumbs-col .slide-d.is-active {
	border-color: var(--u2-accent);
}
@media (max-width: 767px) {
	.u2-pdp__gallery-thumbs-col .gall-d__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
	}
	.u2-pdp__gallery-stage .shop_id_img {
		max-height: 340px;
	}
}

/* Brand card */
.us-pdp-brand {
	margin-top: 16px;
}
.us-pdp-brand__inner {
	background: var(--u2-surface-2);
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 18px 20px;
}
.us-pdp-brand__name {
	font-family: var(--u2-font-heading);
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}
.us-pdp-brand__desc {
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--u2-text-muted);
	margin: 0 0 12px;
}
.us-pdp-brand__link {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--u2-accent);
	text-decoration: none;
}
.us-pdp-brand__link:hover {
	text-decoration: underline;
}

/* Video tab */
.u2-pdp__video-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--u2-radius);
	background: #0c0d10;
}
.u2-pdp__video-wrap iframe,
.u2-pdp__video-wrap video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Related products */
.us-pdp-related-card {
	text-decoration: none;
	color: inherit;
}
.us-pdp-related-card:hover {
	background: var(--u2-surface-2);
}

/* ============================================================
   Homepage real object cards (us-home-case-card*)
   ============================================================ */
body.page-home .us-home-case-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-right: 1px solid #e2e0da;
	border-bottom: 1px solid #e2e0da;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: background 0.15s ease;
}

body.page-home .us-home-case-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #cc5200;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s ease;
	z-index: 2;
}

body.page-home .us-home-case-card:hover {
	background: #fafaf9;
}

body.page-home .us-home-case-card:hover::before {
	transform: scaleX(1);
}

body.page-home .us-home-case-card__image-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: #f4f3f0;
	overflow: hidden;
}

body.page-home .us-home-case-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

body.page-home .us-home-case-card:hover .us-home-case-card__image {
	transform: scale(1.03);
}

body.page-home .us-home-case-card__placeholder {
	width: 100%;
	height: 100%;
	background: #f4f3f0;
}

body.page-home .us-home-case-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 24px;
}

body.page-home .us-home-case-card__meta {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #cc5200;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

body.page-home .us-home-case-card__title {
	margin: 0 0 12px;
	font-family: var(--u2-font-heading);
	font-size: 20px;
	font-weight: 700;
	color: #0c0d10;
	letter-spacing: -0.025em;
	line-height: 1.3;
	flex: 1;
}

body.page-home .us-home-case-card__materials {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}

body.page-home .us-home-case-card__materials span {
	display: inline-block;
	padding: 4px 10px;
	background: #f4f3f0;
	border: 1px solid #e2e0da;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	color: #6e6e78;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

body.page-home .us-home-case-card__go {
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #cc5200;
}

/* VISUAL-RECOVERY-02 START */

/* PATCH A — Unified Breadcrumb System */

/* Increase hero crumb font size from microscopic 12px to readable 13px */
#breadcrumbs.u2-hero-crumbs,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d,
#breadcrumbs.u2-hero-crumbs .breadcrumb-d *,
#breadcrumbs.u2-hero-crumbs a,
#breadcrumbs.u2-hero-crumbs span {
	font-size: 13px;
	letter-spacing: 0.04em;
}

/* Light-page breadcrumbs (no u2-hero-crumbs): ensure readability */
#breadcrumbs:not(.u2-hero-crumbs),
#breadcrumbs:not(.u2-hero-crumbs) .breadcrumb-d,
#breadcrumbs:not(.u2-hero-crumbs) .breadcrumb-d * {
	font-size: 0.92rem;
	color: var(--u2-muted);
}

#breadcrumbs:not(.u2-hero-crumbs) a {
	color: var(--u2-link);
}

/* Mobile: horizontal scroll inside breadcrumbs, no body overflow */
@media (max-width: 768px) {
	#breadcrumbs,
	#breadcrumbs.u2-hero-crumbs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 6px;
		padding-bottom: 4px;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	#breadcrumbs::-webkit-scrollbar,
	#breadcrumbs.u2-hero-crumbs::-webkit-scrollbar {
		display: none;
	}
	#breadcrumbs .breadcrumb-d,
	#breadcrumbs.u2-hero-crumbs .breadcrumb-d {
		white-space: nowrap;
		flex-shrink: 0;
	}
}

/* PATCH B — Hero System Normalization */

/* Objects stats: stronger spacing + readable labels */
.u2-objects-hero-v2__stats-item {
	padding: 20px 24px;
}
.u2-objects-hero-v2__stats-num {
	font-size: clamp(1.5rem, 2.8vw, 2rem);
}
.u2-objects-hero-v2__stats-label {
	font-size: 12px;
	letter-spacing: 0.12em;
	color: rgba(234,230,221,0.6);
	margin-top: 6px;
	display: block;
}

/* Contacts hero: full-width dark system hero */
.u2-contacts-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(36px, 5vw, 56px) clamp(16px, 4vw, 28px) clamp(28px, 4vw, 48px);
	border-radius: 0;
}

.u2-contacts-hero .u2-container {
	max-width: var(--u2-container);
	margin: 0 auto;
	padding: 0;
}

/* PATCH C — Catalog Filters + Toolbar */

/* Toolbar: count text on the left */
.u2-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.u2-catalog-toolbar__primary {
	flex: 1 1 auto;
}

.u2-toolbar__count-text {
	margin: 0;
	font-size: 0.92rem;
	color: var(--u2-muted);
}

/* Category filter nav: treat as nav list when checkboxes not supported */
.u2-filter-group__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.u2-filter-group__list li + li {
	margin-top: 2px;
}

.u2-filter-group__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 0.92rem;
	color: var(--u2-text);
	text-decoration: none;
	transition: background 0.15s ease;
}

.u2-filter-group__link:hover {
	background: rgba(0,0,0,0.04);
}

.u2-filter-group__link.is-active {
	background: rgba(204, 82, 0, 0.08);
	color: var(--u2-accent);
	font-weight: 600;
}

/* Product card actions: align compare inline with CTA */
.u2-card-v2__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.u2-card-v2__btn-kp {
	flex: 1 1 auto;
	min-width: 0;
}

.u2-card-v2__compare {
	flex-shrink: 0;
}

/* PATCH D — Objects Page */

/* Type chips with counts */
.u2-objects-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--u2-text);
	background: #fff;
	border: 1px solid #ddd;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
}

.u2-objects-filter-chip:hover {
	border-color: var(--u2-accent);
	color: var(--u2-accent);
}

.u2-objects-filter-chip.is-active {
	background: #0c0d10;
	color: #fff;
	border-color: #0c0d10;
}

.u2-objects-filter-chip__count {
	font-size: 0.78rem;
	font-weight: 600;
	color: inherit;
	opacity: 0.7;
}

/* Region chips row */
.u2-objects-regions-v2 {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
	padding: 0 clamp(16px, 4vw, 28px);
}

.u2-objects-region-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border-radius: 20px;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--u2-text);
	background: #f4f3f0;
	border: 1px solid #e2e0da;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
}

.u2-objects-region-chip:hover {
	background: #eae8e2;
}

.u2-objects-region-chip.is-active {
	background: var(--u2-accent);
	color: #fff;
	border-color: var(--u2-accent);
}

/* Improved geo-section */
.u2-objects-geo-section {
	position: relative;
	background: #F2F0EA;
	border: 1px solid #D8D6D0;
	overflow: hidden;
}

.u2-objects-geo-section__header {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 16px;
	background: rgba(242,240,234,0.92);
	backdrop-filter: blur(4px);
}

.u2-objects-geo-section__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--u2-text);
	letter-spacing: 0.05em;
}

.u2-objects-geo-section__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.u2-objects-geo-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.78rem;
	color: var(--u2-muted);
}

.u2-objects-geo-legend__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	display: inline-block;
}

/* SVG map: reduce grid dominance, softer background */
.u2-objects-geo-svg-wrap {
	position: relative;
	width: 100%;
	height: 430px;
	background: linear-gradient(180deg, #f7f6f2 0%, #eeede8 100%);
}

.u2-objects-geo-svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* SVG grid lines softer */
.u2-objects-geo-svg line {
	stroke: #e0ddd6;
	stroke-width: 0.2;
	opacity: 0.5;
}

/* SVG dots slightly larger and with subtle stroke */
.u2-objects-geo-svg circle {
	r: 0.9;
	stroke: rgba(255,255,255,0.4);
	stroke-width: 0.15;
}

/* Map toggle button */
.u2-objects-geo-toggle-btn {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	padding: 8px 18px;
	border-radius: 6px;
	border: 1px solid #ccc;
	background: #fff;
	font-size: 0.85rem;
	font-weight: 500;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Object cards: stronger structure */
.u2-object-card-v2__badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--badge-color, #0c0d10);
	margin-bottom: 8px;
}

.u2-object-card-v2__task {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--u2-accent);
	margin: 0 0 6px;
}

.u2-object-card-v2__solution {
	font-size: 0.88rem;
	color: var(--u2-muted);
	line-height: 1.5;
	margin-bottom: 10px;
}

.u2-object-card-v2__material {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	background: #f4f3f0;
	border: 1px solid #e2e0da;
	font-size: 0.78rem;
	color: var(--u2-text);
	margin: 0 4px 4px 0;
}

/* PATCH E — Contacts Page */

/* Clean map iframe: remove border, rounded corners */
.u2-contacts-map-shell {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #ddd;
	background: #eae8e2;
	min-height: 380px;
}

.u2-contacts-map-shell iframe {
	display: block;
	width: 100%;
	min-height: 380px;
	border: 0;
}

/* Contacts form/CTA section */
.u2-contacts-form-section {
	padding: 48px 0;
	background: #f7f6f2;
	border-top: 1px solid #e2e0da;
}

.u2-contacts-form-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

@media (max-width: 768px) {
	.u2-contacts-form-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.u2-contacts-form-cta .u2-btn--lg {
	margin-top: 12px;
}

.u2-contacts-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.u2-contacts-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #e8e6e0;
	font-size: 0.92rem;
}

.u2-contacts-checklist li:last-child {
	border-bottom: 0;
}

.u2-contacts-response {
	margin-top: 20px;
	padding: 16px;
	border-radius: 8px;
	background: #0c0d10;
	color: #eae6dd;
}

.u2-contacts-response p {
	margin: 0 0 4px;
	font-size: 0.9rem;
}

/* Requisites: compact B2B card instead of raw table */
.u2-contacts-requisites {
	padding: 48px 0;
}

.u2-req-table-wrap {
	margin-top: 20px;
}

.u2-req-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.u2-req-table th,
.u2-req-table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid #e8e6e0;
	vertical-align: top;
}

.u2-req-table th {
	width: 280px;
	font-weight: 500;
	color: var(--u2-muted);
	font-size: 0.85rem;
	white-space: nowrap;
}

.u2-req-table td {
	color: var(--u2-text);
	font-weight: 500;
}

/* Expanded requisites toggle */
.u2-req-details {
	margin-top: 16px;
}

.u2-req-details__summary {
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--u2-accent);
	list-style: none;
	padding: 8px 0;
}

.u2-req-details__summary::-webkit-details-marker {
	display: none;
}

/* B2B compact requisites card */
.u2-req-b2b {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px 24px;
	margin-top: 20px;
	padding: 16px 20px;
	background: #f7f6f3;
	border: 1px solid #e8e6e0;
	border-radius: 8px;
}

.u2-req-b2b__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.u2-req-b2b__label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--u2-muted);
}

.u2-req-b2b__val {
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--u2-text);
	word-break: break-word;
}

@media (max-width: 600px) {
	.u2-req-b2b {
		grid-template-columns: 1fr;
		padding: 14px 16px;
	}
}

/* VISUAL-RECOVERY-02 END */

/* ============================================================
   VISUAL-RECOVERY-03 — Hard Rebuild
   ============================================================ */

/* ---------- SHOP — Product Cards v3 (premium) ---------- */
.u2-card-v2 {
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	border-color: #E8E6E0;
}
.u2-card-v2:hover {
	box-shadow: 0 12px 40px rgba(0,0,0,0.12);
	border-color: #D0CEC8;
	transform: translateY(-3px);
}
.u2-card-v2__media {
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, #f8f8f6 0%, #f0efeb 100%);
}
.u2-card-v2__thumb img {
	padding: 20px;
}
.u2-card-v2__body {
	padding: 16px 18px 18px;
}
.u2-card-v2__top-row {
	margin-bottom: 9px;
}
.u2-card-v2__article {
	font-size: 11px;
	letter-spacing: 0.08em;
}
.u2-card-v2__status {
	font-size: 11px;
	font-weight: 600;
	padding: 3px 8px;
	background: #f4f3f0;
	border-radius: 4px;
}
.u2-card-v2__status-dot {
	width: 6px;
	height: 6px;
}
.u2-card-v2__tags {
	margin-bottom: 10px;
}
.u2-card-v2__tag {
	font-size: 10px;
	letter-spacing: 0.06em;
	padding: 3px 9px;
	border-radius: 4px;
	font-weight: 600;
}
.u2-card-v2__tag--brand {
	background: #f0efeb;
	border-color: #d8d6d0;
}
.u2-card-v2__tag--cat {
	background: rgba(204,82,0,0.07);
	border-color: rgba(204,82,0,0.18);
}
.u2-card-v2__title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.18;
	margin: 0 0 10px;
}
.u2-card-v2__desc {
	font-size: 13.5px;
	line-height: 1.55;
	color: #5a5a64;
	margin: 0 0 14px;
}
.u2-card-v2__price {
	margin-bottom: 14px;
	padding-top: 12px;
	border-top: 1px solid #eceae4;
}
.u2-card-v2__price-value {
	font-size: 15px;
	letter-spacing: -0.02em;
}
.u2-card-v2__actions {
	gap: 10px;
}
.u2-card-v2__btn-kp {
	border-radius: 5px;
	min-height: 46px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	box-shadow: 0 2px 8px rgba(204,82,0,0.25);
}
.u2-card-v2__btn-kp:hover {
	box-shadow: 0 4px 14px rgba(204,82,0,0.35);
}
.u2-card-v2__compare .compare-ico {
	border-radius: 5px;
	width: 46px;
	height: 46px;
}

/* ---------- SHOP — Filter Panel v3 ---------- */
.u2-filter-panel {
	background: #fff;
	border: 1px solid #e8e6e0;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.04);
	overflow: hidden;
}
.u2-filter__header {
	padding: 16px 20px;
	background: #fafaf8;
	border-bottom: 1px solid #eceae4;
}
.u2-filter__header-title {
	font-size: 13px;
	letter-spacing: 0.1em;
}
.u2-filter__details {
	border-bottom-color: #eceae4;
}
.u2-filter__summary {
	padding: 13px 20px;
	font-size: 11.5px;
	letter-spacing: 0.07em;
	color: #2a2a32;
}
.u2-filter__details-body {
	padding: 4px 20px 16px;
}
.u2-filter__option {
	margin-bottom: 10px;
}
.u2-filter__check-label {
	font-size: 13.5px;
	gap: 11px;
	color: #3a3a42;
}
.u2-filter__checkbox {
	width: 20px !important;
	min-width: 20px !important;
	height: 20px !important;
	border-radius: 5px !important;
	border-width: 1.5px !important;
}
.u2-filter__checkbox:checked::after {
	left: 6px;
	top: 2px;
	width: 6px;
	height: 10px;
}
.u2-filter__option-text {
	line-height: 1.4;
}
.u2-filter__actions {
	padding: 18px 20px;
	gap: 10px;
}
.u2-filter__submit,
.u2-filter__reset {
	padding: 12px 14px;
	font-size: 12px;
	border-radius: 5px;
}

/* Category filter group in sidebar */
.u2-filter-group {
	padding: 16px 20px;
	border-bottom: 1px solid #eceae4;
}
.u2-filter-group__title {
	font-size: 11px;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.u2-filter-group__list li + li {
	margin-top: 8px;
}
.u2-filter-group__link {
	font-size: 13.5px;
	padding: 5px 0;
	color: #4a4a52;
}
.u2-filter-group__link.is-active {
	color: #cc5200;
	font-weight: 700;
}
.u2-filter-group__count {
	font-size: 11px;
	padding: 2px 7px;
	background: #f0efeb;
	border-radius: 10px;
	color: #7a7a82;
}

/* ---------- SHOP — Toolbar v3 ---------- */
.u2-catalog-toolbar {
	background: #fff;
	border: 1px solid #e8e6e0;
	border-radius: 8px;
	padding: 14px 20px;
	margin-bottom: 20px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.03);
}
.u2-toolbar__count-text {
	font-size: 15px;
	font-weight: 600;
	color: #2a2a32;
}
.u2-toolbar__count-text strong {
	color: #cc5200;
	font-weight: 800;
}
.u2-catalog-toolbar__sort .u2-toolbar__select {
	border-radius: 5px;
	border-color: #d8d6d0;
	padding: 8px 32px 8px 12px;
	font-size: 13px;
}

/* ---------- SHOP — Pagination / Show More ---------- */
.usilenie-shop-paginator .paginator a,
.usilenie-shop-paginator .pagination a,
.usilenie-shop-paginator .paginator__item,
.usilenie-shop-paginator .pagination__item {
	border-radius: 6px;
	font-weight: 600;
	min-width: 44px;
	height: 44px;
	font-size: 13px;
}
.usilenie-shop-paginator .paginator a:hover,
.usilenie-shop-paginator .pagination a:hover {
	border-color: #cc5200;
	color: #cc5200;
}

/* "Показать ещё" button styling */
.js_shop_show_more a,
.js_shop_show_more button,
.show_more a,
.show_more button,
.shop_show_more a,
.shop_show_more button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 28px;
	background: #fff;
	color: #0c0d10;
	border: 1.5px solid #0c0d10;
	border-radius: 6px;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.15s ease;
	margin-top: 16px;
}
.js_shop_show_more a:hover,
.js_shop_show_more button:hover,
.show_more a:hover,
.show_more button:hover {
	background: #0c0d10;
	color: #fff;
}

/* ---------- OBJECTS — Portfolio Cards v3 ---------- */
.u2-object-card-v2 {
	border-radius: 8px;
	border: 1px solid #e8e6e0;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04);
	overflow: hidden;
	transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.u2-object-card-v2:hover {
	box-shadow: 0 16px 48px rgba(0,0,0,0.10);
	transform: translateY(-4px);
	border-color: #d0cec8;
}
.u2-object-card-v2__topline {
	height: 4px;
}
.u2-object-card-v2__badge {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 4px;
}
.u2-object-card-v2__title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}
.u2-object-card-v2__title a {
	color: #1a1a22;
}
.u2-object-card-v2__title a:hover {
	color: #cc5200;
}
.u2-object-card-v2__task {
	font-size: 12.5px;
	color: #6e6e78;
}
.u2-object-card-v2__solution {
	font-size: 13.5px;
	line-height: 1.55;
	color: #5a5a64;
}
.u2-object-card-v2__materials {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #eceae4;
}
.u2-object-card-v2__material {
	font-size: 11px;
	padding: 4px 10px;
	border-radius: 4px;
	background: #f4f3f0;
	border: 1px solid #e2e0da;
	color: #5a5a64;
}
.u2-object-card-v2__footer {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #eceae4;
}
.u2-object-card-v2__link {
	font-weight: 600;
	color: #cc5200;
}
.u2-object-card-v2__link:hover {
	color: #a84200;
}

/* ---------- OBJECTS — Map Polish ---------- */
.u2-objects-geo-section {
	border-radius: 8px;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06);
	background: linear-gradient(180deg, #F2F0EA 0%, #eae8e2 100%);
}
.u2-objects-geo-section svg {
	filter: drop-shadow(0 2px 8px rgba(0,0,0,0.04));
}
.u2-objects-geo-section__header {
	padding: 14px 20px;
	background: rgba(255,255,255,0.7);
}

/* Region chips polish */
.u2-objects-regions-v2 {
	margin-top: 14px;
	padding: 0 20px;
	gap: 10px;
}
.u2-objects-region-chip {
	padding: 7px 14px;
	border-radius: 24px;
	font-size: 13px;
	font-weight: 500;
	background: #fff;
	border: 1px solid #e2e0da;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.u2-objects-region-chip:hover {
	background: #fafaf8;
	border-color: #cc5200;
	color: #cc5200;
}
.u2-objects-region-chip.is-active {
	background: #cc5200;
	color: #fff;
	border-color: #cc5200;
	box-shadow: 0 2px 8px rgba(204,82,0,0.25);
}

/* ---------- DOCS — Strong Request-Only Page ---------- */
.u2-docs-hero {
	padding-bottom: clamp(28px, 4vw, 48px);
}
.u2-docs-categories {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin: 28px 0;
}
.u2-docs-cat-card {
	background: #fff;
	border: 1px solid #e8e6e0;
	border-radius: 8px;
	padding: 24px 22px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.03);
	transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
}
.u2-docs-cat-card:hover {
	box-shadow: 0 8px 28px rgba(0,0,0,0.08);
	border-color: #d0cec8;
	transform: translateY(-2px);
}
.u2-docs-cat-card__icon {
	width: 44px;
	height: 44px;
	background: rgba(204,82,0,0.08);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	color: #cc5200;
}
.u2-docs-cat-card__title {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a22;
	margin: 0 0 6px;
}
.u2-docs-cat-card__desc {
	font-size: 13px;
	line-height: 1.5;
	color: #6e6e78;
	margin: 0 0 16px;
}
.u2-docs-cat-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #0c0d10;
	color: #fff;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s;
}
.u2-docs-cat-card__cta:hover {
	background: #cc5200;
}

/* Docs group polish */
.u2-docs-group {
	border: 1px solid #e8e6e0;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 6px rgba(0,0,0,0.03);
	margin-bottom: 12px;
	transition: box-shadow 0.2s, border-color 0.2s;
}
.u2-docs-group:hover {
	border-color: #d8d6d0;
}
.u2-docs-group__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #1a1a22;
	background: #fafaf8;
	transition: background 0.15s;
}
.u2-docs-group__header:hover {
	background: #f4f3f0;
}
.u2-docs-group__icon {
	color: #cc5200;
	flex-shrink: 0;
}
.u2-docs-group__title {
	flex: 1;
}
.u2-docs-group__count {
	font-size: 12px;
	color: #9a9aa2;
	font-weight: 500;
}
.u2-docs-group__rows {
	padding: 18px 22px;
	border-top: 1px solid #eceae4;
}
.u2-docs-row--empty p {
	font-size: 14px;
	line-height: 1.6;
	color: #4a4a52;
	margin: 0 0 14px;
}
.u2-docs-row__action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	background: #0c0d10;
	color: #fff;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s;
}
.u2-docs-row__action:hover {
	background: #cc5200;
}
.u2-docs-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 20px 0 24px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #e8e6e0;
	border-radius: 8px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.03);
}
.u2-docs-count {
	font-size: 14px;
	color: #5a5a64;
}
.u2-docs-download-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	background: #cc5200;
	color: #fff;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s, box-shadow 0.15s;
	box-shadow: 0 2px 8px rgba(204,82,0,0.25);
}
.u2-docs-download-all:hover {
	background: #e05a00;
	box-shadow: 0 4px 14px rgba(204,82,0,0.35);
}

/* ---------- CONTACTS — Strong Conversion Band ---------- */
.u2-contacts-form-section {
	background: linear-gradient(180deg, #f7f6f3 0%, #fff 100%);
	padding: 56px 0;
}
.u2-contacts-form-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.u2-contacts-form-cta {
	background: #0c0d10;
	border-radius: 10px;
	padding: 36px 32px;
	color: #fff;
	box-shadow: 0 12px 40px rgba(0,0,0,0.18);
}
.u2-contacts-form-cta .u2-text {
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255,255,255,0.75);
	margin: 0 0 24px;
}
.u2-contacts-form-cta .u2-btn--primary {
	background: #cc5200;
	border-radius: 6px;
	min-height: 52px;
	padding: 0 28px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	box-shadow: 0 4px 16px rgba(204,82,0,0.35);
	margin-bottom: 12px;
}
.u2-contacts-form-cta .u2-btn--primary:hover {
	background: #e05a00;
	box-shadow: 0 6px 20px rgba(204,82,0,0.45);
}
.u2-contacts-form-cta .u2-text-muted {
	font-size: 12px;
	color: rgba(255,255,255,0.4);
}
.u2-contacts-form-info {
	padding-top: 8px;
}
.u2-contacts-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}
.u2-contacts-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #eceae4;
	font-size: 14px;
	color: #3a3a42;
}
.u2-check-num {
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	background: #f4f3f0;
	border: 1px solid #e2e0da;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	color: #cc5200;
	font-family: var(--u2-font-mono);
}
.u2-contacts-response {
	background: #f4f3f0;
	border-radius: 8px;
	padding: 18px 20px;
}
.u2-contacts-response p {
	font-size: 14px;
	line-height: 1.5;
	color: #4a4a52;
	margin: 0 0 6px;
}
.u2-contacts-response p:last-child {
	margin-bottom: 0;
}

/* Mobile adjustments */
@media (max-width: 900px) {
	.u2-contacts-form-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.u2-contacts-form-cta {
		padding: 28px 22px;
	}
	.u2-docs-categories {
		grid-template-columns: 1fr;
	}
	.u2-card-v2__media {
		aspect-ratio: 4 / 3;
	}
}

/* VISUAL-RECOVERY-03 END */

/* UI-SYSTEM-01 START */
/* unified page hero + breadcrumbs system */

/* ---- Base hero shell ---- */
.u2-page-hero {
	position: relative;
	background: var(--u2-bg-dark);
	color: var(--u2-text-on-dark);
	overflow: hidden;
	padding: 48px 0 48px;
	width: 100%;
}

@media (max-width: 1023px) {
	.u2-page-hero {
		padding: calc(var(--u2-header-h) + 20px) 0 40px;
	}
}

.u2-page-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 18px),
		radial-gradient(ellipse at 55% 35%, rgba(204, 82, 0, 0.08) 0%, transparent 58%);
}

/* ---- Inner container (unified width) ---- */
.u2-page-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: min(var(--u2-container-wide), max(var(--u2-container-normal), calc(100vw - 144px)));
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 24px);
}

/* ---- Breadcrumbs region ---- */
.u2-page-hero__crumbs,
.u2-page-hero #breadcrumbs {
	margin: 0 0 28px;
	padding: 0;
	max-width: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.2;
	color: rgba(255,255,255,.48);
	font-size: 12px;
	font-family: var(--u2-font-mono);
	font-weight: 400;
	text-transform: none;
	letter-spacing: .055em;
}

.u2-page-hero__crumbs .breadcrumb-d,
.u2-page-hero #breadcrumbs .breadcrumb-d {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
	float: none;
	position: static;
}

.u2-page-hero__crumbs a,
.u2-page-hero #breadcrumbs a {
	color: rgba(255,255,255,.48);
	text-decoration: none;
}

.u2-page-hero__crumbs a:hover,
.u2-page-hero #breadcrumbs a:hover {
	color: #fff;
}

.u2-page-hero__crumbs .breadcrumb-d:last-child,
.u2-page-hero__crumbs .breadcrumb-d:last-child *,
.u2-page-hero #breadcrumbs .breadcrumb-d:last-child,
.u2-page-hero #breadcrumbs .breadcrumb-d:last-child * {
	color: rgba(255,255,255,.68);
}

@media (max-width: 768px) {
	.u2-page-hero__crumbs,
	.u2-page-hero #breadcrumbs {
		margin-bottom: 20px;
		gap: 6px;
	}
}

/* ---- Grid: main + optional side ---- */
.u2-page-hero__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}

/* ---- Eyebrow ---- */
.u2-page-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.u2-page-hero__eyebrow-line {
	width: 24px;
	height: 2px;
	background: var(--u2-accent);
	flex-shrink: 0;
}

/* ---- H1 ---- */
.u2-page-hero h1,
.u2-page-hero__h1 {
	margin: 0 0 14px;
	font-family: var(--u2-font-heading);
	font-weight: 700;
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
	color: var(--u2-text-on-dark);
}

/* ---- Lead ---- */
.u2-page-hero__lead {
	margin: 0;
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	color: rgba(234, 230, 221, 0.45);
	max-width: 56ch;
	line-height: 1.7;
}

.u2-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.u2-page-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

/* ---- Side slot ---- */
.u2-page-hero__side {
	flex-shrink: 0;
}

.u2-page-hero__side-cta {
	display: inline-block;
	padding: 13px 28px;
	background: var(--u2-accent);
	color: #fff;
	font-family: var(--u2-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s;
}

.u2-page-hero__side-cta:hover {
	background: var(--u2-accent-hover);
}

/* ---- Stats ---- */
.u2-page-hero__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.06);
	margin-top: 40px;
}

.u2-page-hero__stat {
	padding: 16px 20px;
	background: rgba(255,255,255,0.02);
	text-align: center;
}

.u2-page-hero__stat-v {
	font-family: var(--u2-font-mono);
	font-size: clamp(1.4rem, 2.2vw, 1.8rem);
	font-weight: 700;
	color: var(--u2-text-on-dark);
	line-height: 1.2;
}

.u2-page-hero__stat-k {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: rgba(234,230,221,0.4);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ---- PDF side card (price) ---- */
.u2-page-hero__pdf {
	border: 1px solid rgba(255,255,255,0.1);
	padding: 20px 24px;
	background: rgba(255,255,255,0.03);
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

.u2-page-hero__pdf-label {
	font-family: var(--u2-font-mono);
	font-size: 9px;
	color: rgba(234,230,221,0.3);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.u2-page-hero__pdf-name {
	font-family: var(--u2-font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--u2-text-on-dark);
}

.u2-page-hero__pdf-meta {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	color: rgba(234,230,221,0.28);
	margin-top: 2px;
}

.u2-page-hero__pdf-actions {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.u2-page-hero__pdf-btn {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 9px 18px;
	cursor: pointer;
	border: none;
	text-decoration: none;
	transition: all 0.15s;
}

.u2-page-hero__pdf-btn--primary {
	background: var(--u2-accent);
	color: #fff;
}

.u2-page-hero__pdf-btn--primary:hover {
	background: var(--u2-accent-hover);
}

.u2-page-hero__pdf-btn--secondary {
	background: transparent;
	color: rgba(234,230,221,0.55);
	border: 1px solid rgba(255,255,255,0.12);
}

.u2-page-hero__pdf-btn--secondary:hover {
	color: #fff;
	border-color: rgba(255,255,255,0.25);
}

/* ---- Main column alignment ---- */
.u2-page-hero__main {
	flex: 1 1 0;
	min-width: 0;
	align-self: flex-start;
}


@media (max-width: 768px) {
	.u2-page-hero__grid {
		flex-direction: column;
		align-items: flex-start;
	}
	.u2-page-hero__side {
		width: 100%;
	}
	.u2-page-hero__side-cta {
		width: 100%;
		text-align: center;
	}
	.u2-page-hero__pdf {
		width: 100%;
	}
	.u2-page-hero__stats {
		margin-top: 28px;
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---- PDP breadcrumbs (dark band fallback) ---- */
.u2-fv2-pdp-band--hero #breadcrumbs,
.u2-fv2-pdp-band--hero #breadcrumbs .breadcrumb-d,
.u2-fv2-pdp-band--hero #breadcrumbs .breadcrumb-d *,
.u2-fv2-pdp-band--hero #breadcrumbs a,
.u2-fv2-pdp-band--hero #breadcrumbs span {
	font-size: 12px;
	font-family: var(--u2-font-mono);
	font-weight: 400;
	text-transform: none;
	letter-spacing: .055em;
}

.u2-fv2-pdp-band--hero #breadcrumbs {
	margin: 0 0 28px;
	padding: 0;
	max-width: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.2;
	color: rgba(255,255,255,.48);
}

.u2-fv2-pdp-band--hero #breadcrumbs .breadcrumb-d {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
	float: none;
	position: static;
}

.u2-fv2-pdp-band--hero #breadcrumbs a {
	color: rgba(255,255,255,.48);
	text-decoration: none;
}

.u2-fv2-pdp-band--hero #breadcrumbs a:hover {
	color: #fff;
}

.u2-fv2-pdp-band--hero #breadcrumbs .breadcrumb-d:last-child,
.u2-fv2-pdp-band--hero #breadcrumbs .breadcrumb-d:last-child * {
	color: rgba(255,255,255,.68);
}

@media (max-width: 768px) {
	.u2-fv2-pdp-band--hero #breadcrumbs {
		margin-bottom: 20px;
		gap: 6px;
	}
}

/* Fix objects page wrapper padding that pushes hero down */
.u2-objects-page {
	padding-top: 0 !important;
}

/* =========================================================
   ROOT-LAYOUT-01 — full-bleed architecture fix
   ========================================================= */

/* Page wrappers must never constrain width */
.u2-objects-page,
.u2-services-page,
.u2-service-detail,
.usilenie-object-detail,
.u2-object-demo {
	max-width: none;
	margin-inline: 0;
}

/* Inner containers that lost the wrapper max-width */
.u2-objects-page > .u2-objects-regions-v2,
.u2-objects-page > .u2-objects__count,
.u2-objects-page > .u2-objects-grid-v2,
.u2-objects-page > .usilenie-objects-live__pager,
.u2-objects-page > .usilenie-objects__empty {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

.u2-service-detail > .usilenie-page,
.u2-object-demo > .usilenie-page,
.u2-object-demo > .u2-object-demo__facts {
	max-width: var(--u2-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 28px);
}

/* Full-width dark bands must not have side border-radius */
.u2-service-detail .u2-page-head,
.u2-object-demo .u2-page-head {
	border-radius: 0;
}

/* Ensure root wrappers are truly full-width */
html, body {
	width: 100%;
	min-width: 0;
}

body.u2-shell {
	max-width: none;
	margin: 0;
}

/* ROOT-LAYOUT-01 END */

/* ============================================================
   VISUAL-WIDTH-02 v2: layout containers (design system)
   ============================================================ */

:root {
	--u2-container-text: 920px;
	--u2-container-normal: 1240px;
	--u2-container-wide: 1728px;
	--u2-page-gutter: clamp(20px, 4vw, 96px);
}

/* --- Reusable container levels --- */

/* Narrow text measure — articles, long reads, hero leads */
.u2-container-text,
.u2-container--text {
	width: min(var(--u2-container-text), calc(100vw - 32px));
	margin-inline: auto;
}

/* Normal content — standard pages */
.u2-container-normal,
.u2-container--normal {
	width: min(var(--u2-container-normal), calc(100vw - 32px));
	margin-inline: auto;
}

/* Wide working area — catalog, tables, grids, maps, contacts */
.u2-container-wide,
.u2-container--wide,
.u2-work-container {
	width: min(var(--u2-container-wide), calc(100vw - (var(--u2-page-gutter) * 2)));
	margin-inline: auto;
}

@media (max-width: 768px) {
	.u2-container-wide,
	.u2-container--wide,
	.u2-work-container {
		width: calc(100vw - 32px);
	}
}

/* --- Adapter: shop-wide (backward compatibility) ---
   Shop children rely on parent padding; we widen the boundary
   but keep padding to avoid breaking existing shop layouts. */
.u2-shop-wide {
	width: 100%;
	max-width: min(var(--u2-container-wide), 96vw);
	margin-inline: auto;
	padding-inline: var(--u2-page-gutter);
}

/* --- Adapter A: objects page children with .u2-work-container ---
   Old rules like .u2-objects-page > .u2-objects-grid-v2 have
   specificity (0,2,0). This adapter ensures .u2-work-container wins. */
.u2-objects-page > .u2-work-container {
	max-width: none;
	width: min(var(--u2-container-wide), calc(100vw - (var(--u2-page-gutter) * 2)));
	margin-inline: auto;
}

/* --- Adapter B: PDP hero breakout from padded .u2-shop-wide parent ---
   Without restructuring shop.view.id.php, negative margins make the
   dark band fill the full width of the padded parent. */
body.page-product .u2-shop-wide > .u2-fv2-pdp-band--hero,
.u2-shop-wide.u2-fv2-pdp-page-inner > .u2-fv2-pdp-band--hero {
	width: calc(100% + (var(--u2-page-gutter) * 2));
	margin-left: calc(var(--u2-page-gutter) * -1);
	margin-right: calc(var(--u2-page-gutter) * -1);
}

/* --- Adapter C: remove legacy 1240px cap on objects grid --- */
.u2-work-container.u2-objects-grid-v2 {
	max-width: none;
}

/* GLOBAL-LAYOUT-CONSUMER: reusable layout primitives + service skin */

/* === LAYOUT PRIMITIVES === */
.u2-layout-grid {
	display: grid;
	gap: 24px;
	align-items: start;
}

.u2-layout-grid--aside {
	grid-template-columns: 1fr 380px;
}

.u2-layout-main {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.u2-layout-aside {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.u2-sticky-aside {
	position: sticky;
	top: 24px;
}

/* === CHECKLIST PRIMITIVE === */
.u2-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.u2-checklist li {
	padding: 16px 20px 16px 44px;
	border-bottom: 1px solid var(--u2-border);
	font-size: 15px;
	line-height: 1.5;
	position: relative;
}

.u2-checklist li::before {
	content: '';
	position: absolute;
	left: 16px;
	top: 22px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--u2-accent);
}

.u2-checklist li:last-child {
	border-bottom: none;
}

/* === SERVICE SKIN (decoration only) === */
.u2-service-content__h {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 16px;
	padding-left: 24px;
	position: relative;
}

.u2-service-content__h::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 2px;
	background: var(--u2-accent);
}

.u2-service-cta {
	padding: 28px;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	border-radius: var(--u2-radius);
}

.u2-service-cta__title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 12px;
}

.u2-service-cta__text {
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 20px;
	opacity: 0.8;
}

.u2-service-cta__phone {
	font-size: 14px;
	margin: 16px 0 0;
	opacity: 0.7;
}

.u2-service-related {
	border: 1px solid var(--u2-border);
	border-radius: var(--u2-radius);
	padding: 24px;
}

.u2-service-related__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--u2-muted);
	margin: 0 0 16px;
}

.u2-service-related__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.u2-service-related__list a {
	font-size: 14px;
	color: var(--u2-text);
	text-decoration: none;
}

.u2-service-related__list a:hover {
	color: var(--u2-accent);
}

/* === MOBILE === */
@media (max-width: 1100px) {
	.u2-layout-grid--aside {
		grid-template-columns: 1fr;
	}
	.u2-sticky-aside {
		position: static;
	}
	.u2-layout-aside {
		order: -1;
	}
}


/* === Header visual alignment fix (desktop padding + search visibility) === */
@media (min-width: 1281px) {
	body .u2-header__bar .site-header__inner {
		padding-inline: 24px;
	}
	body .u2-topbar .u2-topbar__inner,
	body.page-shop .u2-topbar .u2-topbar__inner,
	body.page-category .u2-topbar .u2-topbar__inner {
		padding-inline: 32px;
	}
}
/* === /Header fix === */


/* === L06: search page === */

/* ---- Search page wrapper ---- */
.u2-search-page {
  /* page-level wrapper, no own styles needed */
}

/* ---- Search hero ---- */
.u2-search-hero {
  background: rgb(12, 13, 16);
  padding: 0 0 28px;
}
.u2-search-hero__inner {
  width: min(1728px, calc(100vw - 144px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

/* Breadcrumbs */
.u2-search-hero__crumbs {
  /* USI-DEEP-02: align with the unified .u2-page-hero #breadcrumbs visual language (mono, 12px, tracking). */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 0;
  margin: 0 0 28px;
  font-family: var(--u2-font-mono);
  font-size: 12px;
  letter-spacing: .055em;
  color: rgba(255, 255, 255, 0.48);
}
.u2-search-hero__crumbs a {
  color: rgba(234, 230, 221, 0.45);
  text-decoration: none;
}
.u2-search-hero__crumbs a:hover {
  color: rgba(234, 230, 221, 0.8);
}
.u2-search-hero__crumb-sep {
  color: rgba(234, 230, 221, 0.25);
}

/* Title (H1) — visually hidden to match Figma, present in DOM for a11y/SEO */
.u2-search-hero__title {
  font-family: var(--u2-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: rgb(234, 230, 221);
  margin: 0 0 8px;
}
.u2-search-hero__title--sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Eyebrow */
.u2-search-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding-left: 37px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgb(204, 82, 0);
}
.u2-search-hero__eyebrow-line {
  display: inline-block;
  width: 20px;
  height: 1px;
  background: rgb(204, 82, 0);
}

/* Search form */
.u2-search-hero__form {
  display: flex;
  gap: 0;
  max-width: 640px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.u2-search-hero__input {
  flex: 1;
  background: transparent;
  border: none;
  color: rgb(234, 230, 221);
  font-family: var(--u2-font-body);
  font-size: 16px;
  padding: 14px 20px;
  height: 52px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.u2-search-hero__input::-webkit-search-decoration,
.u2-search-hero__input::-webkit-search-cancel-button,
.u2-search-hero__input::-webkit-search-results-button,
.u2-search-hero__input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.u2-search-hero__input::placeholder {
  color: rgba(234, 230, 221, 0.35);
}
.u2-search-hero__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 111px;
  height: 52px;
  padding: 14px 24px;
  border: none;
  background: rgb(204, 82, 0);
  color: #fff;
  font-family: var(--u2-font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.u2-search-hero__submit:hover {
  background: #a84200;
}
.u2-search-hero__submit-icon {
  display: inline-flex;
}

/* Chips */
.u2-search-hero__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}
.u2-search-hero__chips-label {
  font-size: 9px;
  color: rgba(234, 230, 221, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.u2-search-hero__chip {
  display: inline-flex;
  padding: 4px 12px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-size: 10px;
  color: rgba(234, 230, 221, 0.55);
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.u2-search-hero__chip:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.25);
  color: rgba(234, 230, 221, 0.85);
}

/* ---- Search results ---- */
.u2-search-results {
  background: rgb(241, 240, 236);
  padding: 32px 0 56px;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: auto;
}
.u2-search-results__inner {
  width: min(1728px, calc(100vw - 144px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

/* Summary row */
.u2-search-results__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 16px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--u2-border);
}
.u2-search-results__summary-text {
  font-size: 13px;
  color: var(--u2-text);
}
.u2-search-results__summary-text strong {
  color: var(--u2-accent);
}
.u2-search-results__reset {
  font-size: 13px;
  color: var(--u2-muted);
  text-decoration: none;
}
.u2-search-results__reset:hover {
  color: var(--u2-accent);
}

/* Group head */
.u2-search-results__group-head {
  margin: 20px 0 12px;
}
.u2-search-results__group-head .u2-search-results__group-title {
  margin: 0;
}

/* Result list */
.u2-search-results__list {
  border: 1px solid var(--u2-border);
  overflow: hidden;
}
.u2-search-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 170px;
  align-items: stretch;
  background: #fff;
  border-bottom: 1px solid var(--u2-border);
}
.u2-search-row:last-child {
  border-bottom: none;
}
.u2-search-row__media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-right: 1px solid var(--u2-border);
  color: rgba(12, 13, 16, 0.22);
  font-family: var(--u2-font-heading);
  font-size: 30px;
  letter-spacing: -0.04em;
}
.u2-search-row__media span {
  display: block;
  font-family: var(--u2-font-heading);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(12, 13, 16, 0.28);
}
.u2-search-row__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 20px;
  justify-content: center;
}
.u2-search-row__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.u2-search-row__badge {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgb(204, 82, 0);
  background: rgba(204, 82, 0, 0.08);
  padding: 2px 8px;
  border-radius: var(--u2-radius-sm);
}
.u2-search-row__title {
  font-family: var(--u2-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: rgb(12, 13, 16);
  text-decoration: none;
  line-height: 1.25;
}
.u2-search-row__title:hover {
  color: var(--u2-accent);
}
.u2-search-row__snippet {
  font-size: 12px;
  color: rgb(110, 110, 120);
  line-height: 1.6;
  max-width: 70ch;
}
.u2-search-row__side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  border-left: 1px solid var(--u2-border);
  white-space: nowrap;
}
.u2-search-row__status {
  display: block;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(12, 13, 16);
}
/* PHASE4 D2 — search media (real image / neutral placeholder) + stock-status pills */
.u2-search-row__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.u2-search-row__media--empty {
  color: rgba(12, 13, 16, 0.18);
}
.u2-search-row__status--in,
.u2-search-row__status--order {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.u2-search-row__status--in::before,
.u2-search-row__status--order::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.u2-search-row__status--in {
  color: #2e7d5e;
}
.u2-search-row__status--in::before {
  background: #2e7d5e;
}
.u2-search-row__status--order {
  color: #6e6e78;
}
.u2-search-row__status--order::before {
  background: #b8b8c0;
}
.u2-search-row__link {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  color: rgb(204, 82, 0);
  text-decoration: none;
  white-space: nowrap;
}
.u2-search-row__link:hover {
  text-decoration: underline;
}

/* Paginator */
.u2-search-results__paginator {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-family: var(--u2-font-body);
  font-size: 13px;
}
.u2-search-results__paginator .paginat-d,
.u2-search-results__paginator .paginator {
  display: flex;
  align-items: center;
  gap: 4px;
}
body .u2-search-results__paginator .paginat-d__item,
body .u2-search-results__paginator a.paginat-d__item,
body .u2-search-results__paginator span.paginat-d__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 4px 6px;
  margin: 0;
  color: var(--u2-accent);
  text-decoration: none;
  border: 1px solid var(--u2-border);
  background: #fff;
  font-size: 13px;
  border-radius: 0;
}
body .u2-search-results__paginator a.paginat-d__item:hover {
  border-color: var(--u2-accent);
}
body .u2-search-results__paginator .paginat-d__item_current {
  background: var(--u2-accent);
  color: #fff;
  border-color: var(--u2-accent);
}

/* Show more wrapper */
.u2-search-results__more {
  margin-top: 16px;
}
.u2-search-results__more .showmore-d,
.u2-search-results__more .paginator_more_form,
.u2-search-results__more .js_paginator_more_form,
.u2-search-results__more .ajax {
  display: block;
  margin: 0;
}
/* Hide stray SVG/icons inside show-more button */
.u2-search-results__more svg,
.u2-search-results__more .icon-d,
.u2-search-results__more [class*="icon"],
.u2-search-results__more [class*="refresh"],
.u2-search-results__more [class*="reload"] {
  display: none;
}
body .u2-search-results__more button.button-d,
body .u2-search-results__more .button-d,
body .u2-search-results__more .paginator_more_button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 14px;
  border: 1px solid var(--u2-border-strong);
  background: #fff;
  color: var(--u2-text);
  font-family: var(--u2-font-body);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
  font-weight: 600;
}
body .u2-search-results__more button.button-d:hover,
body .u2-search-results__more .button-d:hover,
body .u2-search-results__more .paginator_more_button:hover {
  border-color: var(--u2-accent);
  color: var(--u2-accent);
}

/* Empty state (no results) */
.u2-search-results__empty {
  text-align: center;
  padding: 64px 24px;
}
.u2-search-results__empty-title {
  font-family: var(--u2-font-heading);
  font-size: 28px;
  margin: 0 0 12px;
  color: var(--u2-text);
}
.u2-search-results__empty-title strong {
  color: var(--u2-accent);
}
.u2-search-results__empty-text {
  font-size: 15px;
  color: var(--u2-muted);
  margin: 0 0 28px;
}
.u2-search-results__empty-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

/* Search result blocks */
.u2-search-block {
  margin-top: 32px;
}
.u2-search-block:first-child {
  margin-top: 0;
}
.u2-search-block--materials {
  margin-top: 38px;
}
.u2-search-block--brands {
  margin-top: 38px;
}
.u2-search-block--pages {
  margin-top: 38px;
}

/* Popular categories grid */
.u2-search-results__group {
  margin-top: 4px;
}
.u2-search-results__group-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgb(110, 110, 120);
  margin: 0 0 16px;
}

/* Category grid (new namespace) */
.u2-search-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid #e2e0da;
  border-left: 1px solid #e2e0da;
}
.u2-search-category-card {
  min-height: 168px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: #fff;
  border-right: 1px solid #e2e0da;
  border-bottom: 1px solid #e2e0da;
  text-decoration: none;
  color: var(--u2-text);
  transition: background 0.15s;
}
.u2-search-category-card:hover {
  background: rgb(250, 250, 248);
}
.u2-search-category-card__label {
  display: block;
  margin-bottom: 6px;
  font-size: 9px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--u2-accent);
}
.u2-search-category-card__title {
  display: block;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--u2-text);
}
.u2-search-category-card__desc {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--u2-muted);
}
.u2-search-category-card__action {
  display: block;
  margin-top: auto;
  padding-top: 10px;
  font-size: 10px;
  color: var(--u2-accent);
}

/* Legacy category items (keep for safety) */
.u2-search-results__category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.u2-search-results__category-item {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid rgb(226, 224, 218);
  text-decoration: none;
  transition: background 0.15s;
  margin: -1px 0 0 -1px;
}
.u2-search-results__category-item:nth-child(-n+3) {
  margin-top: 0;
}
.u2-search-results__category-item:nth-child(3n+1) {
  margin-left: 0;
}
.u2-search-results__category-item:hover {
  background: rgb(250, 250, 248);
}
.u2-search-results__category-label {
  font-size: 9px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgb(204, 82, 0);
  margin: 0 0 6px;
}
.u2-search-results__category-name {
  font-family: var(--u2-font-heading);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  color: rgb(12, 13, 16);
  margin: 0 0 6px;
}
.u2-search-results__category-desc {
  font-size: 12px;
  color: rgb(110, 110, 120);
  line-height: 1.6;
  margin: 0 0 10px;
}

@media (max-width: 1024px) {
  .u2-search-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .u2-search-results__category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1280px) {
  .u2-search-hero__inner,
  .u2-search-results__inner {
    width: min(100%, calc(100vw - 64px));
  }
}
@media (max-width: 768px) {
  .u2-search-hero {
    padding: 0 0 24px;
  }
  .u2-search-hero__inner {
    width: calc(100vw - 32px);
  }
  .u2-search-hero__crumbs {
    margin-bottom: 16px;
    font-size: 11px;
  }
  .u2-search-hero__title {
    font-size: 16px;
    margin-bottom: 6px;
  }
  .u2-search-hero__eyebrow {
    margin-bottom: 16px;
    padding-left: 0;
    font-size: 11px;
  }
  .u2-search-hero__form {
    flex-direction: column;
    gap: 0;
    max-width: none;
  }
  .u2-search-hero__input {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    height: 48px;
  }
  .u2-search-hero__submit {
    width: 100%;
    height: 48px;
  }
  .u2-search-results__inner {
    width: calc(100vw - 32px);
  }
  .u2-search-row {
    grid-template-columns: 64px minmax(0, 1fr) 140px;
  }
  .u2-search-row__main {
    padding: 14px 16px;
  }
  .u2-search-row__side {
    padding: 14px 16px;
  }
  .u2-search-row__media {
    font-size: 22px;
  }
  .u2-search-row__title {
    font-size: 16px;
  }
}
@media (max-width: 640px) {
  .u2-search-row {
    grid-template-columns: 1fr;
  }
  .u2-search-row__media {
    display: none;
  }
  .u2-search-row__side {
    border-left: none;
    border-top: 1px solid var(--u2-border);
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    gap: 8px;
  }
  .u2-search-category-grid {
    grid-template-columns: 1fr;
    border-left: none;
    border-top: none;
  }
  .u2-search-category-card {
    min-height: auto;
    border-left: 1px solid #e2e0da;
    border-top: 1px solid #e2e0da;
  }
  .u2-search-results__category-grid {
    grid-template-columns: 1fr;
  }
  .u2-search-results__category-item {
    margin: -1px 0 0 0;
  }
  .u2-search-results__category-item:nth-child(-n+3) {
    margin-top: -1px;
  }
  .u2-search-results__category-item:nth-child(3n+1) {
    margin-left: 0;
  }
  .u2-search-results__category-item:first-child {
    margin-top: 0;
  }
}
/* === /L06 === */


/* =============================================
   BUG-MOBILE-OVERFLOW-01 — horizontal overflow hotfix
   ============================================= */

/* 1. Prevent off-canvas fixed panels from expanding document scrollWidth.
   WebKit mobile often includes transformed fixed children in scrollable area
   even when html/body have overflow-x:hidden. */
.site-nav-panel {
	overflow: hidden;
}

#usilenie-shop-filter-panel:not(.is-open) {
	overflow: hidden;
}

/* 2. Ensure full-width breakout heroes clip their breakout margins */
.u2-contacts-hero {
	overflow: hidden;
}

/* 3. Replace 100vw with 100% on mobile to avoid scrollbar-induced overflow.
   100vw includes scrollbar width on some engines; 100% does not. */
@media (max-width: 768px) {
	.u2-search-hero__inner,
	.u2-search-results__inner,
	.u2-container-wide,
	.u2-container--wide,
	.u2-work-container {
		width: calc(100% - 32px);
	}
	/* 4. Legacy catalog dropdown sidebar overflows flex row on narrow viewports */
	.dropdown-sidebar {
		display: none;
	}
	/* 5. Legacy paginator may exceed viewport on mobile search results */
	.u2-search-results__paginator .paginat-d,
	.u2-search-results__paginator .paginator {
		overflow-x: auto;
		max-width: 100%;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
	}
}
/* === /BUG-MOBILE-OVERFLOW-01 === */

/* =====================================================================
   USI-FILTER-FIGMA-REDO (2026-05-31) — catalog filter → Figma parity.
   Appended last so it wins the cascade over earlier duplicate filter rules.
   Category tabs (dark bar + orange active-underline), compact "Найдено: N"
   toolbar, dark sidebar header + orange badge + reset, orange checkboxes,
   hairline sections, dark apply / outline reset, dark selected chip.
   No DML, no JS change. Hex values reuse the established filter palette.
   ===================================================================== */
/* Category tabs (dark bar + orange active-underline) are styled in usilenie-5of5.css
   (the cascade winner, loads after this file) under USI-FILTER-FIGMA-REDO. */

.u2-toolbar__count-text { margin: 0; font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: .04em; color: #6e6e78; text-transform: none; }
.u2-toolbar__count-text strong { color: #14161a; font-weight: 700; }

.u2-shop-filter-sidebar { background: #fff; border: 1px solid var(--u2-border); border-radius: 0; overflow: hidden; }
.u2-shop-filter-sidebar__head { display: flex; align-items: center; gap: 10px; background: var(--u2-bg-dark); color: #eae6dd; padding: 13px 16px; }
.u2-shop-filter-sidebar__title { font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #eae6dd; }
.u2-shop-filter-sidebar__badge { background: var(--u2-accent); color: #fff; font-family: var(--u2-font-mono); font-size: 11px; line-height: 1; min-width: 18px; height: 18px; border-radius: 9px; display: inline-grid; place-content: center; padding: 0 5px; }
.u2-shop-filter-sidebar__reset { margin-left: auto; color: rgba(234,230,221,.65); font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.u2-shop-filter-sidebar__reset:hover { color: #fff; }

.u2-shop-filter-sidebar .u2-filter-group,
.u2-shop-filter-sidebar .u2-filter__details { border-bottom: 1px solid var(--u2-border); padding: 12px 16px; margin: 0; }
.u2-shop-filter-sidebar .u2-shop-cat__diafan-filter { padding: 0; }
.u2-filter__summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.u2-filter__summary::-webkit-details-marker { display: none; }
.u2-filter__summary-text { font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #14161a; }
.u2-filter__summary-count { margin-left: auto; background: rgba(204,82,0,.12); color: var(--u2-accent); font-size: 11px; font-weight: 700; border-radius: 9px; padding: 1px 7px; }
.u2-shop-filter-sidebar .u2-filter-group__title { font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #14161a; margin: 0 0 8px; }

.u2-filter__check-label { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-family: var(--u2-font-body); font-size: 14px; color: #14161a; cursor: pointer; }
.u2-filter__option-text { flex: 1 1 auto; min-width: 0; }
/* Orange Figma checkbox — scoped to the sidebar so this wins over usilenie-figma-rescue.css
   ~202 (.u2-filter__checkbox{appearance:auto;accent-color} loads last). radius 3px = Figma. */
.u2-shop-filter-sidebar .u2-filter__checkbox {
	appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 18px; height: 18px;
	border: 1.5px solid #c8c6bf; border-radius: 3px; background: #fff; cursor: pointer; position: relative; transition: background .12s, border-color .12s;
}
.u2-shop-filter-sidebar .u2-filter__checkbox:checked { background: var(--u2-accent); border-color: var(--u2-accent); }
.u2-shop-filter-sidebar .u2-filter__checkbox:checked::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* КАТЕГОРИЯ checkbox-state nav rows (Figma): the current category = orange-ticked. */
.u2-filter-cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.u2-filter-cat-item { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-family: var(--u2-font-body); font-size: 14px; color: #14161a; text-decoration: none; }
.u2-filter-cat-item__box { flex: 0 0 auto; width: 18px; height: 18px; border: 1.5px solid #c8c6bf; border-radius: 3px; background: #fff; position: relative; transition: background .12s, border-color .12s; }
.u2-filter-cat-item:hover .u2-filter-cat-item__box { border-color: var(--u2-accent); }
.u2-filter-cat-item.is-checked .u2-filter-cat-item__box { background: var(--u2-accent); border-color: var(--u2-accent); }
.u2-filter-cat-item.is-checked .u2-filter-cat-item__box::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.u2-filter-cat-item__text { flex: 1 1 auto; min-width: 0; }
.u2-filter-cat-item.is-checked .u2-filter-cat-item__text { color: var(--u2-accent); font-weight: 600; }
.u2-filter-cat-item__count { flex: 0 0 auto; font-family: var(--u2-font-mono); font-size: 12px; color: #9a9ca3; }

.u2-filter__actions { display: flex; gap: 8px; padding: 14px 16px; margin: 0; }
.u2-filter__submit { flex: 1 1 auto; background: var(--u2-bg-dark); color: #fff; border: 1px solid var(--u2-bg-dark); border-radius: 0; padding: 11px 16px; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.u2-filter__submit:hover { background: var(--u2-accent); border-color: var(--u2-accent); }
.u2-filter__reset { background: transparent; color: #6e6e78; border: 1px solid var(--u2-border); border-radius: 0; padding: 11px 16px; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.u2-filter__reset:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

.u2-filter-chip--category { background: var(--u2-bg-dark); color: rgba(234,230,221,.9); }
.u2-filter-chip--category:hover { background: var(--u2-accent); color: #fff; }

/* Full-width compact toolbar (Фильтры[N] + Найдено:N | Сортировка) hoisted ABOVE the layout. */
.u2-shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 16px; }
.u2-shop-toolbar__left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.u2-shop-toolbar__filter-btn { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--u2-border); border-radius: 0; padding: 10px 16px; font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: .04em; color: #3a3a42; cursor: pointer; }
.u2-shop-toolbar__filter-btn:hover { border-color: var(--u2-accent); color: var(--u2-accent); }
.u2-shop-toolbar__badge { background: var(--u2-accent); color: #fff; font-family: var(--u2-font-mono); font-size: 11px; line-height: 1; min-width: 18px; height: 18px; border-radius: 9px; display: inline-grid; place-content: center; padding: 0 5px; }
.u2-shop-toolbar__count { font-family: var(--u2-font-mono); font-size: 14px; letter-spacing: .03em; color: #6e6e78; }
.u2-shop-toolbar__count strong { color: #14161a; font-weight: 700; }
.u2-shop-toolbar__sort { margin-left: auto; }
.u2-filter-chips { margin: 0 0 18px; }
/* === /USI-FILTER-FIGMA-REDO === */



/* ============================================================================
   USI-TPLCFG-OBJ (2026-06-07): object-detail gallery — grid of thumbnails
   (was a vertical stack of full-size images = «нагромождение»). Click opens the
   reusable lightbox carousel (usilenie-lightbox.js, [data-u2-lightbox]).
   ============================================================================ */
body .usilenie-object-detail__gallery-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
}
body .usilenie-object-detail__image-link {
	display: block;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #14151a;
	cursor: zoom-in;
	border: 1px solid var(--u2-card-border, #e2e0da);
}
body .usilenie-object-detail__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}
body .usilenie-object-detail__image-link:hover .usilenie-object-detail__image { transform: scale(1.05); }
@media (max-width: 600px) {
	body .usilenie-object-detail__gallery-main { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

/* USI-TPLCFG-OBJ (2026-06-07): object «Материалы и товары» as cards (was plain text-links). */
body .usilenie-omat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 12px;
}
body .usilenie-omat-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	text-decoration: none;
	background: #fff;
	border: 1px solid var(--u2-card-border, #e2e0da);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body .usilenie-omat-card:hover { border-color: #cc5200; box-shadow: 0 4px 18px rgba(12, 13, 16, 0.08); }
body .usilenie-omat-card__media {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	overflow: hidden;
	background: #f1f0ec;
	border: 1px solid var(--u2-card-border, #e2e0da);
}
body .usilenie-omat-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body .usilenie-omat-card__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body .usilenie-omat-card__name { font-weight: 600; color: #0c0d10; line-height: 1.25; }
body .usilenie-omat-card__cta {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.08em;
	color: #cc5200;
	text-transform: uppercase;
}

/* USI-TPLCFG (2026-06-07): /docs brand filter row (server-side ?brand=). */
body .u2-docs-filter--brand { align-items: center; flex-wrap: wrap; }
body .u2-docs-filter__label {
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6e6e78;
	margin-right: 4px;
}
body .u2-docs-filter__chip.is-active {
	background: #cc5200;
	border-color: #cc5200;
	color: #fff;
}
body .u2-docs-filter__chip.is-active .u2-docs-filter__chip-count { color: #fff; opacity: 0.9; }

/* USI-TPLCFG-MOBICONS (2026-06-07): show CART + COMPARE icons in the mobile/tablet header (they were
   display:none ≤1100 alongside the КП-CTA). Live badge keeps working (usilenie_header_counts.js).
   The КП-CTA (.u2-header-cta) stays hidden on mobile. */
@media (max-width: 1100px) {
	body .site-header__toolbar .icon-btn { display: inline-flex; }
}

/* ===== A3 (2026-06-07): CTA/КНОПКИ — КВАДРАТНЫЕ (Figma V2 /_figma_v2_preview/ = radius 0) =====
   `body[class] :is(...)` = специфичность 0,2,1 → бьёт page-scoped правила (body.page-home .x).
   НЕ трогаем --u2-radius (радиус карточек сохранён). 0 !important. Чекбоксы фильтра и галерея — не CTA. */
body[class] :is(
	.u2-btn, .u2-btn--primary, .u2-btn--ghost, .u2-btn--outline, .u2-btn--secondary, .u2-btn--block, .u2-btn--sm,
	.u2-home-hero__btn, .u2-home-cta__tel, .u2-home-cta__tel--fallback,
	.u2-shop-btn, .usilenie-btn, .us2-btn,
	.btn, .btn--primary, .btn--outline, .btn-outline,
	.icon-btn, .nav-toggle, .paginat-d__item, .back-button,
	.u2-pcard__kp, .u2-pcard__kp--cart, .u2-pcard__more,
	.u2-cart__btn, .u2-cmp__btn, .button-d, .offer-d__button,
	.u2-prc03b-btn, .u2-prc03b-btn--primary, .u2-prc03b-btn--ghost, .u2-prc03b-btn--outline,
	.u2-pv2-pdf-btn, .u2-pv2-kp-btn, .u2-pv2-row-btn, .site-nav-panel__tool
) {
	border-radius: 0;
}

/* ===== T3 (Night2 2026-06-07): /price бренд-фильтр — компактный нативный <select> вместо ~25 пилюль ===== */
.u2-pv2-tabs--brand .u2-pv2-brandfilter {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 0 2px;
}
/* R-T3 + Night2 (2026-06-08): styled brand dropdown — DARK control (owner: under-the-bar dark
   theme). Figma dark tokens: bg #0C0D10, text #EAE6DD, subtle light border, light chevron.
   Shared by /price/ AND /docs/. Control/logic unchanged (native server-rendered select). */
.u2-pv2-brand-select,
.u2-docs-brand-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	color-scheme: dark; /* hint OS to render the option list dark too */
	background-color: #0c0d10;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23eae6dd' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	border: 1px solid rgba(234, 230, 221, 0.2);
	border-radius: 0;
	padding: 11px 40px 11px 14px;
	font-family: var(--u2-font-body, "Inter", sans-serif);
	font-size: 14px;
	line-height: 1.2;
	color: #eae6dd;
	cursor: pointer;
	min-width: 240px;
	max-width: 360px;
	transition: border-color .15s ease, background-color .15s ease;
}
.u2-pv2-brand-select:hover,
.u2-docs-brand-select:hover { border-color: var(--u2-accent, #cc5200); background-color: #14181e; }
.u2-pv2-brand-select:focus-visible,
.u2-docs-brand-select:focus-visible { outline: 2px solid var(--u2-accent, #cc5200); outline-offset: 1px; }
/* shared filter-row label (price + docs) */
.u2-docs-filter--brand { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.u2-pv2-tabs__label, .u2-docs-filter--brand .u2-docs-filter__label {
	font-family: var(--u2-font-mono, "Space Mono", monospace);
	font-size: 12px; letter-spacing: 0.04em; color: var(--u2-muted, #6e6e78); text-transform: uppercase;
}
@media (max-width: 560px) {
	.u2-pv2-brand-select, .u2-docs-brand-select { min-width: 0; width: 100%; max-width: none; }
	.u2-pv2-tabs--brand .u2-pv2-brandfilter { flex-wrap: nowrap; }
}

/* ===== A4 (2026-06-07): объект-детейл — вертикальный зазор между CTA (слипались) ===== */
.usilenie-object-detail__aside-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.u2-obj-hero-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* =========================================================================
   R-T2 (2026-06-08): LEGACY-STACK button/pill unification → Figma V2.
   Appended LAST so it wins by cascade order at equal specificity. 0 !important.
   (a) Every button-like + chip/pill + pagination item → radius:0 (square, Figma).
       Brand-filter pills are EXCLUDED on purpose (.u2-docs-filter__chip, .u2-pv2-tab,
       price brand <select>) — those become the styled dropdown in R-T3.
   (b) Generic CTA/buttons → Figma body font (Inter); they already inherit it, this
       makes it explicit & uniform. Mono action buttons keep their Space Mono via
       their own rules (not overridden here). =======================================*/
body :is(
	.u2-btn, .u2-btn--primary, .u2-btn--ghost, .u2-btn--outline, .u2-btn--secondary,
	.u2-btn--block, .u2-btn--sm, .u2-btn--lg,
	.btn, .btn--primary, .btn--outline, .btn-outline, .btn--sm, .btn--lg,
	.usilenie-btn, .usilenie-compare-btn, .u2-shop-btn, .us2-btn,
	.u2-home-hero__btn, .u2-home-cta__tel, .u2-home-cta__tel--fallback,
	.icon-btn, .nav-toggle, .back-button, .button-d, .offer-d__button,
	.paginat-d__item, .paginat-d__btn,
	.usilenie-shop-paginator .pagination__item, .pagination__item,
	.chip, .u2-shop-chips-row .chip, .u2-objects-region-chip, .u2-tag, .u2-chip,
	.u2-docs-filter__chip, .u2-docs-download-all, .u2-docs-row__download,
	.u2-objects-filter-chip
) {
	border-radius: 0;
}

/* (b) unify CTA/button face on the legacy stack = Inter (Figma body) */
body :is(
	.u2-btn, .btn, .usilenie-btn, .usilenie-compare-btn, .u2-shop-btn, .us2-btn,
	.u2-home-hero__btn, .back-button
) {
	font-family: var(--u2-font-body);
}

/* ===== USI-FILTER-MULTI (2026-06-09): client-side multiselect filter dropdowns =====
   Категории + Бренды (and Тип on /docs/). Dark theme #0C0D10/#EAE6DD, square (radius 0),
   checkbox options, count badge, reset. 0 !important. Used on /price/ and /docs/ (legacy stack). */
.u2-msel-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: 100%; padding: 18px 0 0; box-sizing: border-box; }
body.page-price .u2-msel-bar { padding-left: 24px; padding-right: 24px; }
@media (min-width: 1024px) { body.page-price .u2-msel-bar { padding-left: 64px; padding-right: 64px; } }
@media (min-width: 1280px) { body.page-price .u2-msel-bar { padding-left: 96px; padding-right: 96px; } }
.u2-msel { position: relative; }
.u2-msel__btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 14px; background: #0c0d10; color: #eae6dd; border: 1px solid rgba(234,230,221,0.2); border-radius: 0; font-family: var(--u2-font-body, "Inter", sans-serif); font-size: 14px; line-height: 1.2; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.u2-msel__btn:hover { border-color: var(--u2-accent, #cc5200); background: #14181e; }
.u2-msel__btn--active { border-color: var(--u2-accent, #cc5200); }
.u2-msel__count { color: var(--u2-accent, #cc5200); font-weight: 700; }
.u2-msel__chev { transition: transform .15s ease; color: #eae6dd; }
.u2-msel__btn[aria-expanded="true"] .u2-msel__chev { transform: rotate(180deg); }
.u2-msel__panel { position: absolute; top: calc(100% + 4px); left: 0; z-index: 40; min-width: 264px; max-width: 340px; max-height: 360px; overflow-y: auto; background: #0c0d10; border: 1px solid rgba(234,230,221,0.2); border-radius: 0; padding: 6px; box-shadow: 0 12px 32px rgba(0,0,0,0.45); }
.u2-msel__opt { display: flex; align-items: center; gap: 10px; padding: 9px 10px; cursor: pointer; color: #eae6dd; font-size: 14px; line-height: 1.3; }
.u2-msel__opt:hover { background: rgba(234,230,221,0.06); }
.u2-msel__cb { position: absolute; opacity: 0; width: 0; height: 0; }
.u2-msel__box { flex-shrink: 0; width: 16px; height: 16px; border: 1px solid rgba(234,230,221,0.35); border-radius: 0; background: transparent; position: relative; transition: background-color .12s ease, border-color .12s ease; }
.u2-msel__cb:checked + .u2-msel__box { background: var(--u2-accent, #cc5200); border-color: var(--u2-accent, #cc5200); }
.u2-msel__cb:checked + .u2-msel__box::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.u2-msel__cb:focus-visible + .u2-msel__box { outline: 2px solid var(--u2-accent, #cc5200); outline-offset: 1px; }
.u2-msel__opt-name { flex: 1 1 auto; }
.u2-msel__opt-count { color: rgba(234,230,221,0.5); font-size: 12px; font-variant-numeric: tabular-nums; }
.u2-msel-reset { padding: 11px 14px; background: transparent; color: rgba(234,230,221,0.7); border: 1px solid rgba(234,230,221,0.15); border-radius: 0; font-family: var(--u2-font-body, "Inter", sans-serif); font-size: 13px; cursor: pointer; transition: color .15s ease, border-color .15s ease; }
.u2-msel-reset:hover { color: #eae6dd; border-color: rgba(234,230,221,0.4); }
.u2-msel-noresult { padding: 32px 20px; text-align: center; color: #6b7280; font-size: 15px; }
@media (max-width: 600px) { .u2-msel-bar { padding-top: 14px; } .u2-msel { width: 100%; } .u2-msel__btn { width: 100%; justify-content: space-between; } .u2-msel__panel { min-width: 0; width: 100%; max-width: none; } }

/* ───────────────────────────────────────────────────────────────────────────
   USI-DESIGN-FB2 (2026-06-09): /feedback/ middle → site card canon, modelled on the
   Figma «Запрос КП / отправить проект» frame (_figma_work/.../RequestPage.tsx).
   Before: scenarios cells had no padding, the steps sidebar + form + info cards were
   flat light «generic» boxes with rounded corners. After: square corners, canonical
   padding, mono accent eyebrows, hover; «Этапы работы» becomes the dark process card
   («Что будет дальше» in the frame). Scoped to body.page-feedback, tokens only, 0 !important.
   ─────────────────────────────────────────────────────────────────────────── */
body.page-feedback .u2-feedback__form-card,
body.page-feedback .request-form-card,
body.page-feedback .request-steps,
body.page-feedback .field-d,
body.page-feedback .us-fb-info-card { border-radius: 0; }

/* Layout: form primary (left, wide); steps as the narrow right sidebar — matches the frame. */
body.page-feedback .request-layout { grid-template-columns: minmax(0, 1fr) 304px; gap: 24px; }
body.page-feedback .request-form-card { order: 1; }
body.page-feedback .request-steps { order: 2; }
@media (max-width: 980px) { body.page-feedback .request-layout { grid-template-columns: 1fr; } }

/* «Сценарии» — title/text render straight into the border-grid cell (no __body), so the
   cells had zero padding. Give them canonical padding + a hover accent bar. */
body.page-feedback .u2-fv2-cell--fb { padding: 26px 28px 28px; }
body.page-feedback .u2-fv2-cell--fb::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: var(--u2-accent); transform: scaleX(0); transform-origin: left center;
	transition: transform 0.22s ease;
}
body.page-feedback .u2-fv2-cell--fb:hover { background: #fafaf9; }
body.page-feedback .u2-fv2-cell--fb:hover::before { transform: scaleX(1); }
body.page-feedback .u2-fv2-cell--fb .u2-fv2-cell__text { margin-bottom: 0; }

/* «Этапы работы» → dark process card (the frame's «Что будет дальше»). */
body.page-feedback .request-steps { background: var(--u2-dark); border: 0; padding: 30px 26px; }
body.page-feedback .request-steps-title {
	margin: 0 0 22px; font-family: var(--u2-font-mono); font-size: 11px; font-weight: 400;
	letter-spacing: 0.15em; text-transform: uppercase; color: var(--u2-accent);
	display: flex; align-items: center; gap: 10px;
}
body.page-feedback .request-steps-title::before {
	content: ""; width: 18px; height: 1px; background: var(--u2-accent); flex-shrink: 0;
}
body.page-feedback .request-step {
	grid-template-columns: 26px 1fr; gap: 12px; padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.page-feedback .request-step-num {
	font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-accent);
	letter-spacing: 0.04em; padding-top: 1px;
}
body.page-feedback .request-step-label { color: #eae6dd; font-weight: 600; font-size: 14px; }
body.page-feedback .request-step-desc { color: rgba(234, 230, 221, 0.5); font-size: 12.5px; }
body.page-feedback .request-step.active .request-step-label { color: #fff; }
body.page-feedback .request-step.active .request-step-num,
body.page-feedback .request-step.completed .request-step-num { font-weight: 700; }

/* «Новый запрос» form card — square, generous padding, canonical heads + mono labels. */
body.page-feedback .request-form-card,
body.page-feedback .u2-feedback__form-card {
	border: 1px solid var(--u2-border); background: var(--u2-surface); padding: clamp(22px, 3vw, 40px);
}
body.page-feedback .request-form-title {
	margin: 0 0 6px; font-family: var(--u2-font-heading); font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 700; letter-spacing: -0.02em; color: var(--u2-text);
}
body.page-feedback .request-form-subtitle {
	margin: 0 0 26px; color: var(--u2-muted); font-size: 14px; line-height: 1.6; max-width: 56ch;
}
body.page-feedback .u2-feedback__diafan-form .field-d__name {
	font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--u2-muted); margin-bottom: 7px; font-weight: 400;
}
body.page-feedback .u2-feedback__diafan-form input[type="text"],
body.page-feedback .u2-feedback__diafan-form input[type="email"],
body.page-feedback .u2-feedback__diafan-form input[type="tel"],
body.page-feedback .u2-feedback__diafan-form textarea,
body.page-feedback .u2-feedback__diafan-form select { padding: 13px 14px; transition: border-color 0.15s ease; }
body.page-feedback .u2-feedback__diafan-form input:focus,
body.page-feedback .u2-feedback__diafan-form textarea:focus,
body.page-feedback .u2-feedback__diafan-form select:focus { border-color: var(--u2-accent); outline: none; }
body.page-feedback .u2-feedback__submit { margin-top: 6px; }

/* 3 info cards — flat bordered canon (square, no shadow), accent eyebrow tick + hover. */
body.page-feedback .us-fb-info-card {
	border: 1px solid var(--u2-border); background: var(--u2-surface); box-shadow: none;
	padding: 24px 24px 26px; transition: border-color 0.18s ease, background 0.18s ease;
}
body.page-feedback .us-fb-info-card:hover { border-color: var(--u2-accent); background: #fafaf9; }
body.page-feedback .us-fb-info-card__h {
	margin: 0 0 14px; padding-top: 14px; position: relative; font-family: var(--u2-font-heading);
	font-size: 1.05rem; font-weight: 700; letter-spacing: -0.01em; color: var(--u2-text);
}
body.page-feedback .us-fb-info-card__h::before {
	content: ""; position: absolute; top: 0; left: 0; width: 22px; height: 2px; background: var(--u2-accent);
}
body.page-feedback .us-fb-info-card__ul {
	margin: 0; padding-left: 18px; color: var(--u2-muted); font-size: 14px; line-height: 1.7;
}
body.page-feedback .us-fb-info-card__p { margin: 0; color: var(--u2-muted); font-size: 14px; line-height: 1.65; }
body.page-feedback .us-fb-info-card__a { color: var(--u2-accent); text-decoration: none; font-weight: 600; }
body.page-feedback .us-fb-info-card__a:hover { text-decoration: underline; }

/* ───────────────────────────────────────────────────────────────────────────
   USI-DESIGN-FB-RHYTHM (2026-06-09): more air between /feedback/ sections + «Сценарии»
   becomes a gapped 2×2 (was a 3-col border-grid → 4th card «Нужна консультация» orphaned
   in a 3+1 row, and cards touched with no gap = «прилипли»). Scoped body.page-feedback, tokens, 0 !important.
   ─────────────────────────────────────────────────────────────────────────── */
/* Сценарии: gapped bordered cards, 2 per row → 4 = 2×2, no orphan, visible gaps. */
body.page-feedback .u2-fv2-border-grid--fb { border: 0; gap: 16px; grid-template-columns: 1fr; margin-top: 28px; }
@media (min-width: 720px) { body.page-feedback .u2-fv2-border-grid--fb { grid-template-columns: repeat(2, 1fr); } }
body.page-feedback .u2-fv2-cell--fb { border: 1px solid var(--u2-border); }
/* Vertical rhythm between the major blocks (scenarios / form+steps / info-cards / CTA). */
body.page-feedback .u2-feedback-mount { margin-top: clamp(44px, 5vw, 68px); }
body.page-feedback .us-request-below { margin-top: clamp(44px, 5vw, 68px); }
body.page-feedback .us-request-support-grid { gap: 20px; margin-top: clamp(28px, 3vw, 40px); }
body.page-feedback .us-fb-cta-band { margin-top: clamp(44px, 5vw, 68px); }

/* ───────────────────────────────────────────────────────────────────────────
   USI-CTA-UNIFY (2026-06-09): converge all CTA bands to the canonical .u2-shop-cta model
   — dark #0C0D10, copy (eyebrow/title/subtext) LEFT + buttons RIGHT, inner aligned to the
   page content column (page-gutter), cream title #EAE6DD + cream-50 subtext, consistent
   padding clamp(40px,5vw,64px). Fixes: objects band was CENTERED; services (sv2) was LIGHT;
   feedback text was #999 + fixed 28px title. Non-gated bands here; cnt (gated) + shop-cta
   (canon) handled in their part-CSS. Tokens, 0 !important (single-class, later source-order).
   ─────────────────────────────────────────────────────────────────────────── */
/* shared mono accent eyebrow for the bands that lacked one */
.cta-band__eyebrow,
.u2-sv2-cta__eyebrow {
	margin: 0 0 10px;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: var(--u2-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

/* objects: centered column → left copy / right buttons, aligned to content gutter */
.u2-objects-cta-v2 {
	flex-direction: row;
	align-items: center;
	text-align: left;
	justify-content: space-between;
	padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 96px);
}
.u2-objects-cta-v2__lead { max-width: 56ch; }
.u2-objects-cta-v2__text { margin: 10px 0 0; max-width: 48ch; }
.u2-objects-cta-v2__actions { justify-content: flex-start; }
@media (max-width: 640px) {
	.u2-objects-cta-v2 { flex-direction: column; align-items: flex-start; }
}

/* feedback: cream subtext (was #999) + fluid title (was fixed 28px) */
.cta-band__text { color: rgba(234, 230, 221, 0.5); }
.cta-band__title { font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -0.03em; line-height: 1.1; }

/* services (sv2): light → dark canon, aligned to content gutter */
.u2-sv2-cta {
	background: var(--u2-dark);
	border: 0;
	padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 96px);
}
.u2-sv2-cta__title { color: #eae6dd; }
.u2-sv2-cta__text { color: rgba(234, 230, 221, 0.5); }
.u2-sv2-cta__btn--secondary { color: #eae6dd; border-color: rgba(234, 230, 221, 0.45); }
.u2-sv2-cta__btn--secondary:hover { border-color: var(--u2-accent); color: #fff; background: rgba(255, 255, 255, 0.08); }

/* ───────────────────────────────────────────────────────────────────────────
   USI-DESIGN-FB3 (2026-06-09): /feedback/ hero meta strip (real contact facts) + section eyebrow
   — raise the page to the objects/catalog top-tier feel. Scoped body.page-feedback, 0 !important.
   ─────────────────────────────────────────────────────────────────────────── */
body.page-feedback .u2-fb-hero-meta {
	display: flex; flex-wrap: wrap; gap: 10px 24px;
	margin-top: clamp(20px, 2.5vw, 28px);
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em;
}
body.page-feedback .u2-fb-hero-meta__item { color: rgba(234, 230, 221, 0.7); text-decoration: none; }
body.page-feedback a.u2-fb-hero-meta__item:hover { color: var(--u2-accent); }
body.page-feedback .u2-fb-section-eyebrow {
	margin: 0 0 8px; font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-accent);
	letter-spacing: 0.2em; text-transform: uppercase;
}
/* USI-BRAND-LOGO (2026-06-09): official brandbook reverse lockup as an <img> in the dark
   header / footer / mobile-nav. Replaces the inline знак-SVG + HTML wordmark (variant A,
   Cyrillic «УСИЛЕНИЕ.NET»). Sized by height; width auto keeps the lockup aspect. */
.u2-brand-logo-img { display: block; width: auto; height: 32px; }
.site-header__brand--logo { gap: 0; }
.site-nav-panel__logo--img { gap: 0; }
.site-nav-panel__logo--img .u2-brand-logo-img { height: 30px; }
.u2-footer-v2__brand-row--logo { margin-bottom: 18px; }
.u2-footer-logo-img { height: 30px; }
@media (max-width: 600px) {
	.u2-brand-logo-img { height: 28px; }
	.site-nav-panel__logo--img .u2-brand-logo-img { height: 28px; }
}
/* USI-SEARCH-SUGGEST (2026-06-10): live search typeahead dropdown — canon dark panel.
   Body-appended, position:fixed (JS tracks the focused input). Site-wide (both CSS stacks). */
.u2-suggest { position: fixed; z-index: 1300; display: none; background: #0C0D10; border: 1px solid rgba(204,82,0,0.35); box-shadow: 0 14px 44px rgba(0,0,0,0.5); max-height: 64vh; overflow-y: auto; }
.u2-suggest.is-open { display: block; }
.u2-suggest__item { display: flex; align-items: center; gap: 12px; padding: 9px 12px; text-decoration: none; border-bottom: 1px solid rgba(234,230,221,0.08); }
.u2-suggest__item:last-child { border-bottom: 0; }
.u2-suggest__item.is-active, .u2-suggest__item:hover { background: rgba(204,82,0,0.14); text-decoration: none; }
.u2-suggest__media { flex: none; width: 40px; height: 40px; background: #F2F0EA; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.u2-suggest__media img { max-width: 100%; max-height: 100%; object-fit: cover; }
.u2-suggest__body { flex: 1 1 auto; min-width: 0; }
.u2-suggest__name { font-family: "Inter", sans-serif; font-size: 13px; line-height: 1.3; color: #EAE6DD; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.u2-suggest__meta { font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 11px; color: rgba(234,230,221,0.55); margin-top: 2px; }
.u2-suggest__price { flex: none; padding-left: 8px; font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; color: #CC5200; white-space: nowrap; }
.u2-suggest__price--req { color: rgba(234,230,221,0.55); }
.u2-suggest__empty { padding: 12px 14px; font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; color: rgba(234,230,221,0.5); }
@media (max-width: 600px) { .u2-suggest__media { width: 34px; height: 34px; } .u2-suggest__name { font-size: 12px; } }

/* USI-FIX11 (2026-07-11, Задача В): единая типографика служебных строк форм —
   строка согласия ОПД и «— Поля, обязательные для заполнения». Inter, 12.5px,
   приглушённый цвет; ссылка — акцент с подчёркиванием. */
.u2-form-note {
	font-family: var(--u2-font-body, 'Inter', system-ui, sans-serif);
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--u2-muted, #6E6E78);
}
.u2-form-note a {
	color: var(--u2-accent, #CC5200);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.u2-form-note a:hover { text-decoration: none; }

/* USI-SRO (2026-07-13, Задача В): фильтр-бар объектов — дропдаун-паттерн как на /price/ (u2-канон). */
.u2-obj-fbar { margin: 18px auto 6px; }
.u2-obj-fbar__form {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(6, minmax(0, 1fr)) auto;
	gap: 10px;
	align-items: end;
	background: #FFFFFF;
	border: 1px solid var(--u2-border, #D8D6D0);
	padding: 14px;
}
.u2-obj-fbar__label {
	display: block;
	font-family: var(--u2-font-mono, ui-monospace, monospace);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--u2-muted, #6E6E78);
	margin-bottom: 5px;
}
.u2-obj-fbar__input,
.u2-obj-fbar__select {
	width: 100%;
	height: 42px;
	padding: 0 10px;
	border: 1px solid var(--u2-border, #D8D6D0);
	background: var(--u2-panel, #F7F6F3);
	font-family: var(--u2-font-body, 'Inter', sans-serif);
	font-size: 13px;
	color: var(--u2-ink, #0C0D10);
	border-radius: 0;
	appearance: none;
}
.u2-obj-fbar__select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236E6E78' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	padding-right: 26px;
	cursor: pointer;
}
.u2-obj-fbar__input:focus,
.u2-obj-fbar__select:focus {
	outline: 2px solid var(--u2-accent, #CC5200);
	outline-offset: -1px;
}
.u2-obj-fbar__actions { display: flex; gap: 8px; align-items: center; }
@media (max-width: 1279px) {
	.u2-obj-fbar__form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.u2-obj-fbar__field--q { grid-column: span 2; }
}
@media (max-width: 1023px) {
	.u2-obj-fbar__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.u2-obj-fbar__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.u2-obj-fbar__field--q { grid-column: span 2; }
}
@media (max-width: 479px) {
	.u2-obj-fbar__form { grid-template-columns: 1fr; }
	.u2-obj-fbar__field--q { grid-column: auto; }
	.u2-obj-fbar__actions { justify-content: stretch; }
	.u2-obj-fbar__actions .usilenie-btn { flex: 1; }
}

/* USI-OBJFIX2 (2026-07-15): бейдж типа — теперь ссылка на тип-лендинг; ссылка «← Все объекты»;
   ссылка типа в фактах карточки. */
a.u2-object-card-v2__badge { text-decoration: none; cursor: pointer; }
a.u2-object-card-v2__badge:hover { filter: brightness(1.12); text-decoration: underline; text-underline-offset: 2px; }
.u2-obj-landing-back { color: rgba(255,255,255,0.85); text-decoration: none; font-size: 14px; }
.u2-obj-landing-back:hover { color: #FFFFFF; text-decoration: underline; }
.u2-obj03b-fact__link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.u2-obj03b-fact__link:hover { color: var(--u2-accent, #CC5200); }

/* == LEGALUI задача 3 (2026-07-17): оговорка — отдельная полоса футера (легаси-стек; зеркало u2-system.css) == */
.u2-footer-v2__offerband {
	border-bottom: 1px solid rgba(255,255,255,0.06);
	padding: 16px 0;
}
.u2-footer-v2__offer {
	font-family: var(--u2-font-body, 'Inter', system-ui, sans-serif);
	font-size: 12px;
	line-height: 1.6;
	color: rgba(234,230,221,0.55);
	margin: 0;
}
@media (min-width: 640px) {
	.u2-footer-v2__offer { font-size: 12.5px; }
}
@media (min-width: 1024px) {
	.u2-footer-v2__offer { font-size: 13px; }
}
.u2-footer-v2__offer a {
	color: rgba(234,230,221,0.8);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.u2-footer-v2__offer a:hover { text-decoration: none; }
