/* u2-system.css — AUTO-BUILT from _u2_*.part.css via _u2_build.sh. Loaded only on migrated pages (head.php gate). */

/* ===== COMPONENTS + TOKENS ===== */
/* =========================================================================
   _u2_components.part.css — U2 component layer (ШАГ 1 foundation)
   Authored from Figma V2 ground truth (_figma_work/src tsx + theme.css +
   _figma_v2_preview computed styles). Assembled into u2-system.css.
   Values are literal px from source (root=17px; do NOT rem-scale).
   ========================================================================= */

/* ---- TOKENS (from _figma_work/src/styles/theme.css; Figma-correct) ------- */
:root {
  --u2-bg:#F1F0EC; --u2-fg:#0C0D10; --u2-card:#FFFFFF; --u2-card-border:#E2E0DA;
  --u2-border:#D8D6D0; --u2-divider:#ECEAE4; --u2-border-strong:#C0BEB8;
  --u2-muted:#6E6E78; --u2-muted-2:#9A9AA2; --u2-subtle:#A0A0A8; --u2-faint:#B0AEA8;
  --u2-ink-2:#3A3A42; --u2-surface-2:#ECEAE4; --u2-surface-warm:#F4F3F0; --u2-img-bg:#F2F0EA;
  --u2-accent:#CC5200; --u2-accent-hover:#A84200;
  --u2-accent-06:rgba(204,82,0,0.06); --u2-accent-12:rgba(204,82,0,0.12); --u2-accent-22:rgba(204,82,0,0.22);
  --u2-dark:#0C0D10; --u2-graphite:#14181E; --u2-steel:#1E2530; --u2-dark-hover:#1E1E28; --u2-border-dark:#2A2E36;
  --u2-on-dark:#EAE6DD; --u2-on-dark-75:rgba(234,230,221,0.75); --u2-on-dark-65:rgba(234,230,221,0.65);
  --u2-on-dark-45:rgba(234,230,221,0.45); --u2-on-dark-40:rgba(234,230,221,0.40); --u2-on-dark-35:rgba(234,230,221,0.35);
  --u2-ok:#2E7D5E;
  --u2-radius:0px; --u2-radius-xs:2px;
  --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,monospace;
  /* theme.css --us-* aliases — many ported/Figma-derived rules (.us2-card, hero eyebrow)
     reference these names; without them they fall back to inherited Inter / ui-monospace. */
  --us-dark:#0C0D10; --us-graphite:#14181E; --us-steel:#1E2530; --us-surface:#F1F0EC;
  --us-border:#D8D6D0; --us-border-dark:#2A2E36; --us-accent:#CC5200; --us-accent-hover:#A84200;
  --us-text-on-dark:#EAE6DD; --us-text-muted-dark:#7A7E88;
  --us-font-heading:'Space Grotesk',system-ui,sans-serif;
  --us-font-body:'Inter',system-ui,sans-serif;
  --us-font-mono:'Space Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ========================================================================
   TYPOGRAPHY HELPERS  (eyebrow / dash / section labels / accent links)
   ======================================================================== */
.u2-eyebrow-row { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.u2-eyebrow-dash { width:24px; height:2px; background:var(--u2-accent); flex-shrink:0; }
.u2-eyebrow {
  font-family:var(--u2-font-mono); font-size:11px; font-weight:400; line-height:1.5;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--u2-accent);
}
.u2-section-label {
  font-family:var(--u2-font-mono); font-size:12px; font-weight:700; line-height:1.3;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--u2-ink-2);
}
.u2-link-accent {
  font-family:var(--u2-font-mono); font-size:12px; letter-spacing:0.06em;
  color:var(--u2-accent); text-decoration:none;
}
.u2-link-accent:hover { text-decoration:underline; text-underline-offset:3px; }

/* ========================================================================
   BUTTONS  (radius 0 everywhere; primary orange, dark, outline, ghost, link)
   ======================================================================== */
.u2-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--u2-font-body); font-size:15px; font-weight:500; line-height:1.5;
  letter-spacing:0.04em; text-transform:uppercase; text-decoration:none;
  padding:14px 28px; border:none; border-radius:0; cursor:pointer;
  transition:background .15s, border-color .15s, color .15s; white-space:nowrap;
}
.u2-btn:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(204,82,0,0.5); }
.u2-btn:disabled, .u2-btn[disabled] { opacity:.5; pointer-events:none; }
/* USI-FORMGUARD (2026-06-12, BIGDAY2 3.1): "sending" spinner on AJAX submit buttons (set by
   usilenie-v2-clean.js on submit). pointer-events:none also blocks a re-click while sending. */
.is-loading { position:relative; pointer-events:none; opacity:.8; }
.is-loading > * { visibility:hidden; }
.is-loading::after {
  content:""; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%;
  animation:u2-spin .6s linear infinite; visibility:visible;
}
@keyframes u2-spin { to { transform:rotate(360deg); } }
/* USI-A11Y-FOCUS (2026-06-12, BIGDAY 3.2): visible KEYBOARD focus ring for all interactive
   elements that don't already define one. :where() = 0 specificity, so any element-specific
   :focus-visible (e.g. .u2-btn above) still wins; mouse clicks are unaffected (focus-visible). */
:where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid var(--u2-accent, #CC5200);
  outline-offset: 2px;
}
.u2-btn--block { display:flex; width:100%; }

.u2-btn--primary { background:var(--u2-accent); color:#fff; }
.u2-btn--primary:hover { background:var(--u2-accent-hover); }
.u2-btn--sm { font-size:14px; padding:9px 16px; }
.u2-btn--lg { font-size:15px; padding:16px 36px; }

.u2-btn--dark { background:var(--u2-dark); color:var(--u2-on-dark); }
.u2-btn--dark:hover { background:var(--u2-dark-hover); }

.u2-btn--mono { font-family:var(--u2-font-mono); font-size:12px; letter-spacing:0.1em; }
.u2-btn--dark-mono { background:var(--u2-dark); color:#fff; font-family:var(--u2-font-mono);
  font-size:12px; letter-spacing:0.1em; padding:12px; }
.u2-btn--dark-mono:hover { background:var(--u2-accent); }

.u2-btn--outline { background:transparent; color:var(--u2-fg); border:1px solid var(--u2-border); }
.u2-btn--outline:hover { border-color:var(--u2-fg); color:var(--u2-fg); }
.u2-btn--outline-accent { background:transparent; color:var(--u2-accent);
  border:1px solid var(--u2-accent-22); font-family:var(--u2-font-mono); font-size:12px;
  letter-spacing:0.06em; padding:6px 14px; text-transform:none; }
.u2-btn--outline-accent:hover { border-color:var(--u2-accent); }

.u2-btn--ghost-dark { background:transparent; color:var(--u2-on-dark-65);
  border:1px solid var(--u2-on-dark-35); letter-spacing:0.05em; }
.u2-btn--ghost-dark:hover { border-color:rgba(255,255,255,0.3); }

.u2-btn--link { background:none; border:none; padding:0; color:var(--u2-accent);
  font-family:var(--u2-font-mono); font-size:12px; letter-spacing:0.06em; text-transform:none; }
.u2-btn--link:hover { text-decoration:underline; }

/* ========================================================================
   TAGS / BADGES / CHIPS  (mono, sharp corners; count badges 2px)
   ======================================================================== */
.u2-tag {
  font-family:var(--u2-font-mono); font-size:11px; letter-spacing:0.05em;
  padding:2px 8px; border-radius:0; text-decoration:none; flex-shrink:0; line-height:1.5;
}
.u2-tag--brand { color:var(--u2-ink-2); background:var(--u2-surface-warm); border:1px solid var(--u2-border); }
.u2-tag--brand:hover { border-color:var(--u2-dark); }
.u2-tag--cat { color:var(--u2-accent); background:var(--u2-accent-06); border:1px solid var(--u2-accent-22); }
.u2-tag--cat:hover { background:var(--u2-accent-12); }

.u2-chip {
  display:inline-flex; align-items:center; gap:7px; padding:6px 12px; cursor:pointer;
  font-family:var(--u2-font-mono); font-size:12px; letter-spacing:0.05em; border:none; border-radius:0;
}
.u2-chip--active { background:var(--u2-dark); color:var(--u2-on-dark-75); }

.u2-count-badge {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--u2-accent); color:#fff; border-radius:2px;
  font-size:10px; font-weight:700; line-height:1; padding:1px 6px;
}

/* ========================================================================
   PRODUCT CARD  (.u2-card-v2 — markup from shop.view.rows.php)
   Figma ProductCard: white, 1px #E2E0DA, sharp corners, hover lift + accent bar.
   ======================================================================== */
.u2-card-cell { display:flex; }
.u2-card-v2 {
  position:relative; display:flex; flex-direction:column; height:100%; width:100%;
  background:var(--u2-card); border:1px solid var(--u2-card-border); border-radius:0;
  overflow:hidden; cursor:pointer; outline:none;
  transition:box-shadow .15s, border-color .15s;
}
.u2-card-v2::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px; z-index:1;
  background:var(--u2-accent); transform:scaleX(0); transform-origin:left; transition:transform .22s;
}
.u2-card-v2:hover { box-shadow:0 2px 16px rgba(0,0,0,0.08); border-color:var(--u2-border-strong); }
.u2-card-v2:hover::before { transform:scaleX(1); }
.u2-card-v2:focus-visible { outline:2px solid var(--u2-accent); outline-offset:-2px; }

.u2-card-v2__media {
  position:relative; height:200px; flex-shrink:0; background:var(--u2-img-bg);
  border-bottom:1px solid var(--u2-card-border); overflow:hidden;
}
.u2-card-v2__thumb { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.u2-card-v2__thumb img { max-width:100%; max-height:100%; object-fit:contain; object-position:center;
  padding:18px 26px; box-sizing:border-box; transition:transform .35s ease; }
.u2-card-v2:hover .u2-card-v2__thumb img { transform:scale(1.04); }
.u2-card-v2__thumb--placeholder { color:var(--u2-border); }
.u2-card-v2__ph-icon { width:48px; height:48px; border:2px solid currentColor; opacity:.4; }

.u2-card-v2__body { display:flex; flex-direction:column; gap:9px; flex:1; padding:14px 16px 16px; }

.u2-card-v2__top-row { display:flex; align-items:center; justify-content:space-between; }
.u2-card-v2__article { font-family:var(--u2-font-mono); font-size:12px; font-weight:700;
  letter-spacing:0.07em; color:var(--u2-accent); }
.u2-card-v2__status { display:flex; align-items:center; gap:4px; flex-shrink:0; margin-left:8px;
  font-family:var(--u2-font-mono); font-size:11px; line-height:1.5; }
.u2-card-v2__status-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; }

.u2-card-v2__tags { display:flex; flex-wrap:wrap; gap:5px; }
.u2-card-v2__tag { font-family:var(--u2-font-mono); font-size:11px; letter-spacing:0.05em;
  padding:2px 8px; border-radius:0; text-decoration:none; flex-shrink:0; line-height:1.5; }
.u2-card-v2__tag--brand { color:var(--u2-ink-2); background:var(--u2-surface-warm); border:1px solid var(--u2-border); }
.u2-card-v2__tag--brand:hover { border-color:var(--u2-dark); }
.u2-card-v2__tag--cat { color:var(--u2-accent); background:var(--u2-accent-06); border:1px solid var(--u2-accent-22); }
.u2-card-v2__tag--cat:hover { background:var(--u2-accent-12); }

.u2-card-v2__title { font-family:var(--u2-font-heading); font-size:19px; font-weight:700;
  line-height:1.2; letter-spacing:-0.025em; color:var(--u2-fg);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.u2-card-v2__title a { color:inherit; text-decoration:none; }

.u2-card-v2__desc { font-family:var(--u2-font-body); font-size:14px; font-weight:400;
  line-height:1.6; color:var(--u2-muted);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

.u2-card-v2__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px;
  padding-top:12px; border-top:1px solid var(--u2-divider); }
.u2-card-v2__price-old { font-family:var(--u2-font-mono); font-size:12px; color:var(--u2-subtle);
  text-decoration:line-through; }
.u2-card-v2__price-value { font-family:var(--u2-font-mono); font-size:16px; font-weight:700;
  letter-spacing:-0.01em; color:var(--u2-fg); }
.u2-card-v2__price-value--request { font-size:15px; }
.u2-card-v2__price-unit { font-family:var(--u2-font-mono); font-size:11px; color:var(--u2-faint); }
.u2-card-v2__price-vat { font-family:var(--u2-font-mono); font-size:10px; letter-spacing:0.04em;
  color:var(--u2-muted); margin-left:auto; }

.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:var(--u2-accent); color:#fff; font-family:var(--u2-font-mono); font-size:11px;
  font-weight:700; letter-spacing:0.07em; text-transform:uppercase; text-decoration:none;
  border:none; transition:background .15s;
}
.u2-card-v2__btn-kp:hover { background:var(--u2-accent-hover); }

/* compare toggle inside the card = icon-only 44px square (hide the text label) */
.u2-card-v2__compare { flex-shrink:0; }
.u2-card-v2__compare .compare-ico {
  width:44px; min-height:44px; display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--u2-card-border); color:var(--u2-subtle);
  cursor:pointer; transition:all .15s; padding:0;
}
.u2-card-v2__compare .compare-ico:hover { border-color:var(--u2-accent); color:var(--u2-accent); }
.u2-card-v2__compare .compare-ico._active { border-color:var(--u2-accent);
  background:var(--u2-accent-06); color:var(--u2-accent); }
.u2-card-v2__compare .compare-ico__label { position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.u2-card-v2__compare .u2-pd__compare-svg { width:18px; height:18px; }

/* ========================================================================
   BREADCRUMB  (hero/dark variant — mono, '/' separators)
   ======================================================================== */
.u2-crumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-family:var(--u2-font-mono); font-size:12px; line-height:1.5; letter-spacing:0.06em;
  color:var(--u2-on-dark-35); }
.u2-crumbs a { color:inherit; text-decoration:none; }
.u2-crumbs a:hover { color:#fff; }
.u2-crumbs__sep { color:var(--u2-on-dark-35); }
.u2-crumbs__current { color:var(--u2-on-dark-65); }
/* light-surface breadcrumb variant */
.u2-crumbs--light { color:var(--u2-muted); }
.u2-crumbs--light a:hover { color:var(--u2-accent); }
.u2-crumbs--light .u2-crumbs__sep, .u2-crumbs--light .u2-crumbs__current { color:var(--u2-muted); }

/* ========================================================================
   FORMS  (RequestPage source: 1px border, radius 2px, Inter 16px, mono label)
   ======================================================================== */
.u2-field { display:flex; flex-direction:column; }
.u2-field + .u2-field { margin-top:20px; }
.u2-label { display:flex; align-items:center; gap:2px; margin-bottom:8px;
  font-family:var(--u2-font-mono); font-size:10px; font-weight:500; line-height:1.5;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--u2-muted); }
.u2-label__req { color:var(--u2-accent); margin-left:3px; }
.u2-input, .u2-textarea, .u2-select {
  width:100%; background:#fff; color:var(--u2-fg); border:1px solid var(--u2-border);
  border-radius:2px; padding:13px 14px; font-family:var(--u2-font-body); font-size:16px;
  line-height:1.5; transition:border-color .15s;
}
.u2-input::placeholder, .u2-textarea::placeholder { color:var(--u2-subtle); }
.u2-input:focus, .u2-textarea:focus, .u2-select:focus { outline:none; border-color:var(--u2-fg); }
.u2-textarea { resize:vertical; min-height:120px; }
.u2-select { cursor:pointer; -webkit-appearance:none; appearance:none; }
.u2-field-hint { margin-top:6px; font-family:var(--u2-font-body); font-size:13px; color:var(--u2-muted); }

/* ========================================================================
   TABLE BASE  (spec key/value + compare group headers — full per-page later)
   ======================================================================== */
.u2-table { width:100%; border-collapse:collapse; }
.u2-table th, .u2-table td { text-align:left; }
.u2-spec-row { border-bottom:1px solid var(--u2-divider); }
.u2-spec-label { padding:12px 18px; font-family:var(--u2-font-body); font-size:14px; color:var(--u2-muted); }
.u2-spec-value { padding:12px 18px; font-family:var(--u2-font-mono); font-size:14px; font-weight:600; color:var(--u2-fg); }
.u2-group-header td { background:var(--u2-dark); padding:8px 16px; }
.u2-group-header__label { font-family:var(--u2-font-mono); font-size:11px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--u2-accent); }


/* ===== CHROME (ported) ===== */
/* _u2_chrome_port.css — self-contained chrome (header+footer) extracted verbatim from usilenie-v2-clean.css; loaded standalone on migrated pages. */

/* ===== SHARED BASE: reset, base elements, :root tokens, container, a11y helpers ===== */
/* --- 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;
}

/* ===== HEADER (Figma V2): topbar, brand, nav, dropdown, search, toolbar, icon-btn, nav-toggle, mobile drawer/search/accordion ===== */
/* --- 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. 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 informational text);
	   0.6 makes the real B2B tagline legible while staying 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): the inner row is gap:0 and the nav (flex:1,
	   justify-end) right-aligns against the search box, so the last nav item «Контакты» crowded
	   under the search magnifier. Add breathing room before the search field. */
	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 redundant dividers. */
@media (max-width: 768px) {
	.site-header__toolbar { margin-left: auto; gap: 6px; }
	.site-header__toolbar .site-header__toolbar-divider { display: none; }
}


/* ===== SHARED: Button base system (.u2-btn / --primary / --block etc, used by header+footer CTAs) ===== */
/* --- 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;
}

/* ===== FOOTER V2 (exact donor match) ===== */
/* =============================================
   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);
}

/* ===== SHARED: .visually-hidden a11y helper ===== */
.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;
}

/* ===== HEADER: scattered chrome refinements (code-pass CTA, mobile-drawer sheet pad) ===== */
/* === 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);
}

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

/* ===== HEADER: responsive — hide topbar/phone/cta/icon-btn below 1100px ===== */
@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;
	}
}

/* ===== HEADER: per-page topbar inner padding refinements ===== */
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);
}

/* ===== FOOTER: keep .site-footer background inside shop root ===== */
/* Ensure footer inside .u2-shop-root keeps its own background */
.u2-shop-root ~ .site-footer,
.u2-shop-root + * .site-footer {
	background: inherit;
}

/* ===== SHARED: container-level tokens + reusable container width rules (+ mobile variant) ===== */
: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);
	}
}

/* ===== HEADER: desktop (>=1281px) alignment fix for header bar + topbar inner padding ===== */
/* === 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: mobile overflow hotfix — clip off-canvas nav panel ===== */
.site-nav-panel {
	overflow: hidden;
}

/* ===== HEADER + SHARED: <=768px — clip container-wide width; hide legacy dropdown sidebar ===== */
@media (max-width: 768px) {
	.u2-container-wide,
	.u2-container--wide,
	.u2-work-container {
		width: calc(100% - 32px);
	}
	.dropdown-sidebar {
		display: none;
	}
}
/* 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-COOKIE (2026-06-10): u2-system parity for the system banners (gated pages have no v2-clean).
   Hide the Diafan SUBSCRIPTION banner (.diafan_reminder — fixes the pre-launch "banner on gated pages"
   blocker); SHOW + canon-style the cookie-consent banner (.privacy_policy). */
body.u2-shell .diafan_reminder { display: none !important; }
.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%; } }
/* 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; } }


/* ===== CATALOG SHELL (ported) ===== */
/* _u2_catalog_port.part.css — self-contained CATALOG-SHELL layer (shop list + category page-content). Extracted verbatim from usilenie-v2-clean.css → usilenie-5of5.css → usilenie-usi16.css → usilenie-visual-transplant.css → usilenie-figma-rescue.css (cascade-ordered). Excludes chrome (_u2_chrome_port.css) and the product card (_u2_components.part.css). */

/* ===== VARS: definitions for tokens consumed below but NOT defined in _u2_chrome_port.css. (--u16-* copied from usilenie-usi16.css :root; --usi5of5-* from usilenie-5of5.css :root; --u2-text-* aliases for legacy text-color names used by catalog filter rules.) ===== */
:root {
	/* usi16 catalog tokens */
	--u16-card:      #ffffff;
	--u16-line:      #e6e8ec;
	--u16-line-soft: #eef0f3;
	--u16-ink:       #14161a;
	--u16-ink-2:     #5b6573;
	--u16-ink-3:     #6e6e78; /* USI-A11Y-HARDEN: was #8a93a1 (~3.1:1) → canon muted #6e6e78 for AA */
	--u16-accent:    #cc5200;
	--u16-radius:    14px;
	--u16-radius-sm: 10px;
	--u16-shadow:    0 1px 2px rgba(20,22,26,.04), 0 8px 28px rgba(20,22,26,.06);
	/* usi5of5 catalog tokens */
	--usi5of5-accent: var(--u2-accent, #cc5200);
	--usi5of5-ink: var(--u2-text, #0c0d10);
	--usi5of5-muted: var(--u2-muted, #6e6e78);
	--usi5of5-border: var(--u2-border, #e6e4dd);
	--usi5of5-soft: #f7f5f0;
	--usi5of5-radius: 8px;
	--usi5of5-radius-lg: 14px;
	/* legacy text-color aliases (used by figma-rescue / brand filter rules) */
	--u2-text-primary: var(--u2-text, #0c0d10);
	--u2-text-secondary: var(--u2-muted, #6e6e78);
	--u2-text-muted: var(--u2-muted, #6e6e78);
}

/* =====================================================================
   SOURCE 1 — usilenie-v2-clean.css
   ===================================================================== */

/* ---- Breadcrumb base (.breadcrumb-d) + hero-crumbs (early definition) ---- */
.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;
}

/* U2-CRUMB-FIX (2026-06-03): exclude the unified .u2-bc component so these legacy ID rules
   stop forcing weight 600 / orange / 0.92rem onto the new breadcrumb (PDP + catalog). Every
   U2-page breadcrumb carries .u2-bc, so these now only apply to any non-.u2-bc legacy crumb. */
#breadcrumbs:not(.u2-bc) a,
.breadcrumb-d:not(.u2-bc__item) a {
	color: var(--u2-link);
	text-decoration: none;
	font-weight: 600;
}

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

#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;
	}
}

/* ---- Filter sidebar shell + mobile drawer ---- */
.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;
}

.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);
	}
}

/* ---- Product grid (legacy 4-col) ---- */
.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);
	}
}

/* ---- /shop/ root + wide container ---- */
.u2-shop-root {
	width: 100%;
	overflow-x: clip;
	background: #f4f3f0;
}

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

/* ---- Shop hero (legacy .u2-shop-hero__* shell) ---- */
.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;
}

@media (max-width: 1023px) {
	.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);
	}
}

/* ---- Product grid (figma 3-col) ---- */
.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);
	}
}

.u2-product-grid--tile {
	gap: 1px;
	background: #E2E0DA;
	border: 1px solid #E2E0DA;
}

/* ---- Mobile-only helpers ---- */
.usilenie-only-mobile {
	display: block;
}

@media (min-width: 1024px) {
	.usilenie-only-mobile {
		display: none !important;
	}
}

/* ---- Bottom CTA ---- */
.u2-shop-cta {
	background: var(--u2-dark);
	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;
}

/* ---- Filter accordion: count badge, details/summary, options, actions, chips ---- */
.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);
}

.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;
}

.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);
}

.u2-filter__actions {
	display: flex;
	gap: 10px;
	padding: 16px 0;
}

@media (max-width: 1023px) {
	.u2-filter__actions {
		display: none;
	}
}

.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;
}

.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);
}

/* ---- Force grid on row-view ---- */
.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 ---- */
.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;
}

@media (max-width: 1023px) {
	.u2-filter-sidebar .u2-filter__form {
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}
}

@media (max-width: 1023px) {
	#usilenie-shop-filter-panel {
		display: flex;
		flex-direction: column;
	}
	#usilenie-shop-filter-panel > .u2-filter__form {
		flex: 1 1 auto;
	}
}

/* ---- Filter sidebar overrides (touch targets, scoped head) ---- */
.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;
	}
}

.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;
}

.u2-shop-cta__actions .u2-shop-btn {
	padding: 12px 22px;
	font-size: 14px;
}

/* ---- 'us2' product grid sibling ---- */
.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;
	}
}

/* ---- Filter sidebar dark header + accordion groups (v3) ---- */
.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;
}

.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;
}

.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;
}

.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;
}

/* ---- Filter sidebar (surface variant) + Diafan filter form inside 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;
}

.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;
}

.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;
}

.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: 0; /* R-T2: active-category chip square (Figma) — was 999px pill */
	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 ---- */
.u2-brand-hero {
	position: relative;
	background: var(--u2-graphite);
	color: var(--u2-text-on-dark);
	padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 32px);
	/* USI-TPLCFG-HERO2 (2026-06-07): square full-bleed edges. Was border-radius 8px (rounded corners
	   revealed the lighter page bg = «битые/белые пиксели» top-left) + margin-bottom 24px (the dark
	   band's bottom gap on desktop). Now matches the category hero (clean straight edges, no gap). */
	border-radius: 0;
	margin-bottom: 0;
	overflow: hidden;
}

.u2-brand-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	/* USI-PRELAUNCH-D5 (2026-06-08): removed the off-spec second hero-bg layer. This pseudo
	   re-introduced a STRONG single-direction 45deg stripe (rgba .03 / 12px = visible «полосы»)
	   + a top-left radial glow (circle at 20% 30% = «белые пиксели на левом крае») on the
	   category+brand COMBO hero — both artifacts the owner flagged as «нет в Figma». The combo
	   hero already carries the canonical .u2-page-hero__bg child (radial-only, stripes removed
	   in USI-TPLCFG-HERO), so this layer was a redundant duplicate. Neutralised → combo hero now
	   matches the accepted category hero (clean, no stripes, no left-edge glow). */
	background: none;
	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 (surface variant) ---- */
.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);
}

/* ---- Brand hero responsive (extracted from a multi-page @media(max-width:600px); only the .u2-brand-hero selector kept) ---- */
@media (max-width: 600px) {
	.u2-brand-hero {
		padding: 22px 18px;
		border-radius: 0;
	}
}

/* ---- Grid cell wrapper ---- */
.u2-card-cell {
	background: #F4F3F0;
	padding: 1px;
	display: flex;
}

/* ---- Active filter chips (dark) + category chip + reset ---- */
.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;
}

.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);
}

/* ---- 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) ---- */
.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;
}

/* ---- Brand catalog filter search (body.page-shop .u2-shop-root-brand) ---- */
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;
	}
}

/* ---- Hero-crumbs (later override) + light-page breadcrumbs + mobile scroll ---- */
#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;
}

#breadcrumbs:not(.u2-hero-crumbs):not(.u2-bc),
#breadcrumbs:not(.u2-hero-crumbs):not(.u2-bc) .breadcrumb-d,
#breadcrumbs:not(.u2-hero-crumbs):not(.u2-bc) .breadcrumb-d * {
	font-size: 0.92rem;
	color: var(--u2-muted);
}

#breadcrumbs:not(.u2-hero-crumbs):not(.u2-bc) a {
	color: var(--u2-link);
}

@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;
	}
}

/* ---- Category filter nav list (PATCH C) ---- */
.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;
}

/* ---- Filter panel + accordion + group (light 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;
}

.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;
}

/* ---- Pagination links (v3) ---- */
.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;
}

/* ---- "Показать ещё" show-more button ---- */
.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;
}

/* ---- Page hero (shared dark-hero shell, used on catalog/category/brand) ---- */
.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;
	/* USI-TPLCFG-HERO (2026-06-07): removed the 45/-45deg repeating-linear-gradient cross-hatch
	   "полоски" (visible diagonal texture artifact on category/brand/combo heroes, not in Figma).
	   Kept the subtle radial accent glow + dark base — unified clean treatment with the home hero. */
	background-image:
		radial-gradient(ellipse at 55% 35%, rgba(204, 82, 0, 0.08) 0%, transparent 58%);
}

.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);
}

.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;
	}
}

.u2-page-hero__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}

.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;
}

.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);
}

.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;
}

.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);
}

.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;
}

.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);
}

.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);
	}
}

/* ---- .u2-shop-wide (final width via page-gutter token) ---- */
.u2-shop-wide {
	width: 100%;
	max-width: min(var(--u2-container-wide), 96vw);
	margin-inline: auto;
	padding-inline: var(--u2-page-gutter);
}

/* ---- USI-FILTER-FIGMA-REDO: catalog filter → Figma parity (LAST/winning v2-clean
   block). Dark sidebar header + orange badge/reset, hairline sections, orange
   checkboxes, КАТЕГОРИЯ checkbox-state nav rows, dark apply / outline reset, dark
   selected chip, compact full-width toolbar. (.u2-toolbar__count-text dropped — not
   in the catalog families; .u2-shop-toolbar* is the current toolbar family.) ---- */
.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; }
.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); }

.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; }

.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; }

/* =====================================================================
   SOURCE 2 — usilenie-5of5.css
   ===================================================================== */

/* ---- Filter sidebar (usi5of5 surface) + group + diafan filter form ---- */
.u2-shop-filter-sidebar {
	padding: 18px;
	background: #fff;
	border: 1px solid var(--usi5of5-border);
	border-radius: var(--usi5of5-radius);
}

.u2-shop-filter-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--usi5of5-border);
}

.u2-shop-filter-sidebar__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--usi5of5-ink);
}

.u2-filter-group + .u2-filter-group {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--usi5of5-border);
}

.u2-filter-group__title {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--usi5of5-muted);
}

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

.u2-filter-group__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 10px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 13px;
	color: var(--usi5of5-ink);
	transition: background .15s, color .15s;
}

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

.u2-filter-group__link.is-active {
	background: var(--usi5of5-ink);
	color: #fff;
	font-weight: 600;
}

.u2-filter-group__count {
	font-family: var(--u2-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 11px;
	color: var(--usi5of5-muted);
}

.u2-filter-group__link.is-active .u2-filter-group__count {
	color: rgba(255, 255, 255, .7);
}

.u2-shop-cat__diafan-filter {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--usi5of5-border);
}

.u2-shop-cat__diafan-filter .search-d,
.u2-shop-cat__diafan-filter .search-d_shop {
	background: transparent;
	border: 0;
	padding: 0;
}

.u2-shop-cat__diafan-filter .search-d__row {
	margin-bottom: 14px;
}

.u2-shop-cat__diafan-filter .search-d__name {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--usi5of5-muted);
	margin-bottom: 6px;
}

.u2-shop-cat__diafan-filter input[type=text],
.u2-shop-cat__diafan-filter select {
	width: 100%;
	padding: 8px 12px;
	font-size: 13px;
	border: 1px solid var(--usi5of5-border);
	border-radius: 6px;
	background: #fff;
}

.u2-shop-cat__diafan-filter .button-d,
.u2-shop-cat__diafan-filter button[type=submit] {
	width: 100%;
	padding: 10px 14px;
	background: var(--usi5of5-ink);
	color: #fff;
	border: 1.5px solid var(--usi5of5-ink);
	border-radius: 6px;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .03em;
	cursor: pointer;
}

.u2-shop-cat__diafan-filter .button-d:hover,
.u2-shop-cat__diafan-filter button[type=submit]:hover {
	background: var(--usi5of5-accent);
	border-color: var(--usi5of5-accent);
}

/* ---- Tabs (usi5of5) ---- */
.u2-shop-tabs-wrap {
	background: var(--u2-bg-dark, #0c0d10);
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.u2-shop-tabs {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.u2-shop-tabs::-webkit-scrollbar { display: none; }
.u2-shop-tab {
	display: inline-flex;
	align-items: center;
	padding: 14px 20px;
	font-family: var(--u2-font-mono, 'Space Mono', monospace);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(234,230,221,.42);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: color .15s, border-color .15s;
}
.u2-shop-tab:hover { color: rgba(234,230,221,.72); }
.u2-shop-tab.is-active {
	color: #eae6dd;
	border-bottom-color: var(--u2-accent, #cc5200);
}

/* ---- Filter sidebar (usi5of5 dark-head accordion) ---- */
.u2-shop-filter-sidebar {
	padding: 0;
	background: #fff;
	border: 1px solid var(--usi5of5-border);
	border-radius: var(--usi5of5-radius);
	overflow: hidden;
}
.u2-shop-filter-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	background: var(--usi5of5-ink);
	color: #fff;
	border-bottom: 1px solid var(--usi5of5-border);
}
.u2-shop-filter-sidebar__title {
	font-family: var(--u2-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}
.u2-shop-filter-sidebar .u2-filter-group {
	padding: 14px 18px;
}
.u2-shop-filter-sidebar .u2-filter-group + .u2-filter-group {
	border-top: 1px solid var(--usi5of5-border);
}
.u2-shop-filter-sidebar .u2-filter-group__title,
.u2-shop-filter-sidebar .u2-filter__summary-text {
	font-family: var(--u2-font-body, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--usi5of5-muted);
	margin: 0 0 8px;
}
.u2-shop-filter-sidebar .u2-filter__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	padding: 0 0 6px;
}
.u2-shop-filter-sidebar .u2-filter__summary::-webkit-details-marker { display: none; }
.u2-shop-filter-sidebar .u2-filter__chevron {
	color: var(--usi5of5-muted);
	transition: transform .15s;
}
.u2-shop-filter-sidebar details[open] .u2-filter__chevron { transform: rotate(180deg); }
.u2-shop-filter-sidebar .u2-filter-group__list {
	margin: 0; padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.u2-shop-filter-sidebar .u2-filter-group__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 10px;
	margin: 0 -10px;
	border-radius: 5px;
	color: var(--usi5of5-ink);
	text-decoration: none;
	font-size: 13px;
	transition: background .15s, color .15s;
}
.u2-shop-filter-sidebar .u2-filter-group__link:hover {
	background: var(--usi5of5-soft);
	color: var(--usi5of5-accent);
}
.u2-shop-filter-sidebar .u2-filter-group__link.is-active {
	background: var(--usi5of5-ink);
	color: #fff;
	font-weight: 600;
}
.u2-shop-filter-sidebar .u2-filter-group__count {
	font-family: var(--u2-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 11px;
	color: var(--usi5of5-muted);
	background: transparent;
	border-radius: 4px;
	padding: 0 6px;
}
.u2-shop-filter-sidebar .u2-filter-group__link.is-active .u2-filter-group__count {
	color: rgba(255, 255, 255, .7);
}
.u2-shop-filter-sidebar .u2-filter__details-body { padding-top: 4px; }

/* ---- Desktop: kill the mobile filter close button ---- */
@media (min-width: 1024px) {
	.usilenie-shop-filter-close.usilenie-only-mobile { display: none !important; }
}

/* ---- SEO read-more (usi5of5) ---- */
.u2-category-seo__viewport {
	max-height: none !important;
	overflow: visible !important;
}
.u2-category-seo__viewport::after { display: none !important; }
.u2-category-seo__rich--collapsed {
	max-height: 240px;
	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-surface, #fff));
	pointer-events: none;
}
.u2-category-seo__more {
	display: inline-flex;
	align-items: center;
	margin-top: 14px;
	padding: 9px 18px;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--usi5of5-ink);
	background: #fff;
	border: 1.5px solid var(--usi5of5-ink);
	border-radius: 6px;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.u2-category-seo__more:hover {
	background: var(--usi5of5-ink);
	color: #fff;
}

/* ---- Load-more / paginator polish (usi5of5) ---- */
.usilenie-shop-paginator {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.usilenie-shop-paginator .paginat-d,
.usilenie-shop-paginator > div,
.usilenie-shop-paginator > nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.usilenie-shop-paginator a,
.usilenie-shop-paginator .paginat-d__page,
.usilenie-shop-paginator .paginat-d__pages a,
.usilenie-shop-paginator .paginat-d__more,
.usilenie-shop-paginator .paginat-d__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	font-family: var(--u2-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 13px;
	font-weight: 600;
	color: var(--usi5of5-ink);
	background: #fff;
	border: 1px solid var(--usi5of5-border);
	border-radius: 6px;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}
.usilenie-shop-paginator a:hover,
.usilenie-shop-paginator .paginat-d__page:hover {
	border-color: var(--usi5of5-accent);
	color: var(--usi5of5-accent);
}
.usilenie-shop-paginator .paginat-d__page--current,
.usilenie-shop-paginator .paginat-d__page.is-active,
.usilenie-shop-paginator strong,
.usilenie-shop-paginator span.current,
.usilenie-shop-paginator .paginat-d__page.current {
	background: var(--usi5of5-ink);
	color: #fff;
	border-color: var(--usi5of5-ink);
}
.usilenie-shop-paginator .paginat-d__more,
.usilenie-shop-paginator .paginat-d__more a,
.usilenie-shop-paginator button.paginat-d__more,
.usilenie-shop-paginator .js_show_more,
.usilenie-shop-paginator a.show_more,
.usilenie-shop-paginator .button-d_show_more,
.usilenie-shop-paginator .paginat-d__show-more {
	min-width: 200px;
	height: 44px;
	padding: 0 24px;
	background: var(--usi5of5-ink);
	color: #fff;
	border-color: var(--usi5of5-ink);
	font-family: var(--u2-font-body, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.usilenie-shop-paginator .paginat-d__more:hover,
.usilenie-shop-paginator .paginat-d__more a:hover,
.usilenie-shop-paginator .js_show_more:hover,
.usilenie-shop-paginator a.show_more:hover,
.usilenie-shop-paginator .button-d_show_more:hover,
.usilenie-shop-paginator .paginat-d__show-more:hover {
	background: var(--usi5of5-accent);
	border-color: var(--usi5of5-accent);
	color: #fff;
}

/* ---- Brand-page hero polish (usi5of5) ---- */
.u2-page-hero--shop-brand .u2-page-hero__eyebrow span:last-child {
	letter-spacing: .06em;
	text-transform: uppercase;
	font-size: 11.5px;
}
.u2-page-hero--shop-brand .u2-page-hero__h1 {
	max-width: 32ch;
}

/* ---- SEO read-more removed (USI-FINAL-11; only catalog SEO selectors kept) ---- */
.u2-category-seo__more {
	display: none !important;
}
.u2-category-seo__rich--collapsed {
	max-height: none !important;
	overflow: visible !important;
}
.u2-category-seo__rich--collapsed::after { display: none !important; }

/* ---- Filter sidebar: "Наличие" checkboxes + Apply/Reset ---- */
.u2-filter-stock__row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	cursor: pointer;
	font-size: 13px;
	color: var(--usi5of5-ink);
}
.u2-filter-stock__row:hover { color: var(--usi5of5-accent); }
.u2-filter-stock__cb {
	width: 16px; height: 16px;
	margin: 0;
	accent-color: var(--usi5of5-accent);
	cursor: pointer;
	flex: 0 0 auto;
}
.u2-filter-stock__dot {
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--us-status-color, #6E6E78);
	flex: 0 0 auto;
}
.u2-filter-stock__label {
	font-weight: 500;
}
.u2-filter-group--stock {
	border-top: 1px solid var(--usi5of5-border);
}

.u2-filter-actions {
	display: flex;
	gap: 8px;
	padding: 14px 18px;
	border-top: 1px solid var(--usi5of5-border);
	background: var(--usi5of5-soft);
}
.u2-filter-actions__apply {
	flex: 1 1 auto;
	padding: 11px 14px;
	background: var(--usi5of5-ink);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-family: var(--u2-font-body, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s;
}
.u2-filter-actions__apply:hover {
	background: var(--usi5of5-accent);
}
.u2-filter-actions__reset {
	flex: 0 0 auto;
	padding: 11px 16px;
	background: #fff;
	color: var(--usi5of5-ink);
	border: 1px solid var(--usi5of5-border);
	border-radius: 6px;
	font-family: var(--u2-font-body, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.u2-filter-actions__reset:hover {
	border-color: var(--usi5of5-accent);
	color: var(--usi5of5-accent);
}

/* ---- Sidebar tightening + remove "Ограниченно" + solo Apply (USI-FINAL-12) ---- */
.u2-shop-filter-sidebar { font-size: 13px; }
.u2-shop-filter-sidebar__head {
	padding: 12px 16px;
}
.u2-shop-filter-sidebar__title { font-size: 11.5px; letter-spacing: .1em; }
.u2-shop-filter-sidebar .u2-filter-group { padding: 12px 16px; }
.u2-shop-filter-sidebar .u2-filter-group__title,
.u2-shop-filter-sidebar .u2-filter__summary-text {
	font-size: 10.5px; letter-spacing: .07em; margin: 0 0 7px;
}
.u2-shop-filter-sidebar .u2-filter-group__list { gap: 0; }
.u2-shop-filter-sidebar .u2-filter-group__link { padding: 5px 8px; font-size: 12.5px; margin: 0 -8px; }
.u2-shop-filter-sidebar .u2-filter-group__count { font-size: 10.5px; padding: 0 4px; }

.u2-filter-stock__row { padding: 5px 0; font-size: 12.5px; gap: 8px; }
.u2-filter-stock__cb { width: 15px; height: 15px; }
.u2-filter-stock__dot { width: 7px; height: 7px; }

.u2-filter-actions--solo {
	padding: 14px 16px;
	background: var(--usi5of5-soft);
	border-top: 1px solid var(--usi5of5-border);
}
.u2-filter-actions--solo .u2-filter-actions__apply {
	width: 100%;
	padding: 12px 14px;
	font-size: 11.5px;
	letter-spacing: .08em;
}

.u2-shop-cat__diafan-filter .u2-filter-panel { background: transparent; border: 0; padding: 0; }
.u2-shop-cat__diafan-filter .u2-filter__header { display: none; }
.u2-shop-cat__diafan-filter details.u2-filter__details {
	border-top: 1px solid var(--usi5of5-border);
	padding: 10px 0;
}
.u2-shop-cat__diafan-filter details.u2-filter__details:first-of-type { border-top: 0; }
.u2-shop-cat__diafan-filter .u2-filter__summary {
	font-size: 10.5px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--usi5of5-muted);
	font-weight: 700;
	padding: 4px 0;
}
.u2-shop-cat__diafan-filter .u2-filter__summary-count {
	background: transparent;
	color: var(--usi5of5-muted);
	border: 1px solid var(--usi5of5-border);
	border-radius: 4px;
	font-family: var(--u2-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 10px;
	font-weight: 500;
	padding: 1px 5px;
	margin-left: 6px;
}
.u2-shop-cat__diafan-filter .u2-filter__chevron {
	color: var(--usi5of5-muted);
	transition: transform .15s;
}
.u2-shop-cat__diafan-filter details[open] .u2-filter__chevron { transform: rotate(180deg); }

/* =====================================================================
   SOURCE 3 — usilenie-usi16.css
   ===================================================================== */

/* ---- Catalog container/layout/sidebar/grid (usi16). NOTE: the card-targeting
   rules scoped under .u2-catalog-main were dropped (card lives in
   _u2_components.part.css). ---- */
.u2-shop-root .u2-shop-wide {
	max-width: min(var(--u2-container-wide), max(var(--u2-container-normal), calc(100vw - 144px)));
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 24px);
}
.u2-catalog-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 28px; max-width: none; margin: 0; padding: 24px 0 8px; align-items: start; }
.u2-catalog-main { min-width: 0; }

.u2-shop-filter-sidebar { background: var(--u16-card); border: 1px solid var(--u16-line); border-radius: var(--u16-radius); padding: 16px 16px 8px; box-shadow: var(--u16-shadow); }
.u2-shop-filter-sidebar__title { font-size: 15px; color: var(--u16-ink); font-weight: 700; margin: 0 0 10px; }
.u2-filter-group { border-top: 1px solid var(--u16-line-soft); padding: 12px 0; }
.u2-filter__summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--u16-ink); }
.u2-filter-group__list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.u2-filter-group__link { color: var(--u16-ink-2); text-decoration: none; font-size: 13.5px; display: flex; justify-content: space-between; gap: 8px; }
.u2-filter-group__link:hover { color: var(--u16-accent); }
.u2-filter-group__count { color: var(--u16-ink-3); font-size: 12px; }

.u2-catalog-main .u2-product-grid,
.u2-catalog-main .u2-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }

.u2-page-hero--shop, .u2-page-hero--shop-brand { padding-bottom: 8px; }

@media (max-width: 1024px) {
	.u2-catalog-layout { grid-template-columns: 1fr; }
	.u2-catalog-main .u2-product-grid, .u2-catalog-main .u2-catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 768px) {
	.u2-catalog-layout { padding: 14px; }
	.u2-catalog-main .u2-product-grid, .u2-catalog-main .u2-catalog-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 480px) {
	.u2-catalog-main .u2-product-grid, .u2-catalog-main .u2-catalog-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   SOURCE 4 — usilenie-visual-transplant.css
   ===================================================================== */

/* ---- Unified hero breadcrumbs inside .u2-page-hero__inner #breadcrumbs ---- */
.u2-page-hero__inner #breadcrumbs,
.u2-page-hero__inner #breadcrumbs .breadcrumb-d,
.u2-page-hero__inner #breadcrumbs .breadcrumb-d *,
.u2-page-hero__inner #breadcrumbs a,
.u2-page-hero__inner #breadcrumbs span {
	font-size: 12px;
	font-family: var(--u2-font-mono);
	font-weight: 400;
	text-transform: none;
	letter-spacing: .055em;
}

.u2-page-hero__inner #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-page-hero__inner #breadcrumbs .breadcrumb-d,
.u2-page-hero__inner #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__inner #breadcrumbs a {
	color: rgba(255, 255, 255, .52);
	text-decoration: none;
	font-weight: 400;
}

.u2-page-hero__inner #breadcrumbs a:hover {
	color: #fff;
	text-decoration: none;
}

.u2-page-hero__inner #breadcrumbs .breadcrumb-d:last-child,
.u2-page-hero__inner #breadcrumbs .breadcrumb-d:last-child * {
	color: var(--u2-on-dark-65);
}

@media (max-width: 768px) {
	.u2-page-hero__inner #breadcrumbs {
		margin-bottom: 18px;
		gap: 6px;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		white-space: nowrap;
	}
	.u2-page-hero__inner #breadcrumbs::-webkit-scrollbar {
		display: none;
	}
	.u2-page-hero__inner #breadcrumbs .breadcrumb-d {
		white-space: nowrap;
	}
}

/* ---- Unified breadcrumb component (.u2-bc) ---- */
.u2-bc {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: .055em;
	line-height: 1.2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.u2-bc__item,
.u2-bc__item * {
	display: inline-flex;
	align-items: center;
	font-family: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	font-weight: 400;
	text-transform: none;
}
.u2-bc__item {
	margin: 0;
	padding: 0;
	width: auto;
	max-width: none;
	flex: 0 0 auto;
	float: none;
	white-space: nowrap;
}
.u2-bc__link {
	text-decoration: none;
	font-weight: 400;
}
.u2-bc__link:hover {
	text-decoration: none;
}
.u2-bc__item:not(:first-child)::before {
	content: "/";
	margin-right: 8px;
	opacity: .45;
	font-weight: 400;
	flex: 0 0 auto;
}

/* U2-CRUMB-FIX (2026-06-03): dark-hero crumbs to the EXACT Figma warm alphas
   (--u2-on-dark-35 = rgba(234,230,221,.35), --u2-on-dark-65 = rgba(234,230,221,.65),
   from _figma_work CatalogPage/ProductPage). #breadcrumbs-prefixed so it beats the legacy
   .u2-page-hero__inner #breadcrumbs a (id-level) by id+source-order. */
#breadcrumbs.u2-bc--dark,
.u2-bc--dark,
.u2-search-hero__crumbs {
	color: var(--u2-on-dark-35);
}
#breadcrumbs.u2-bc--dark .u2-bc__link,
#breadcrumbs.u2-bc--dark a,
.u2-bc--dark .u2-bc__link,
.u2-bc--dark a,
.u2-search-hero__crumbs a {
	color: var(--u2-on-dark-35);
}
#breadcrumbs.u2-bc--dark .u2-bc__link:hover,
#breadcrumbs.u2-bc--dark a:hover,
.u2-bc--dark .u2-bc__link:hover,
.u2-bc--dark a:hover,
.u2-search-hero__crumbs a:hover {
	color: #fff;
}
#breadcrumbs.u2-bc--dark .u2-bc__item--current,
#breadcrumbs.u2-bc--dark .u2-bc__item--current *,
.u2-bc--dark .u2-bc__item--current,
.u2-bc--dark .u2-bc__item--current * {
	color: var(--u2-on-dark-65);
}
#breadcrumbs.u2-bc--dark .u2-bc__item:not(:first-child)::before,
.u2-bc--dark .u2-bc__item:not(:first-child)::before {
	color: var(--u2-on-dark-35);
	opacity: 1;
}

.u2-bc:not(.u2-bc--dark) {
	color: var(--u2-muted);
}
.u2-bc:not(.u2-bc--dark) .u2-bc__link,
.u2-bc:not(.u2-bc--dark) a {
	color: var(--u2-link);
}
.u2-bc:not(.u2-bc--dark) .u2-bc__link:hover,
.u2-bc:not(.u2-bc--dark) a:hover {
	color: var(--u2-link-hover);
}

@media (max-width: 768px) {
	.u2-bc {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		white-space: nowrap;
		gap: 6px;
	}
	.u2-bc::-webkit-scrollbar { display: none; }
	.u2-bc__item { white-space: nowrap; }
}

.u2-page-hero__inner > .u2-bc,
.u2-fv2-page-hero .u2-bc {
	margin: 0 0 28px;
	max-width: none;
	padding: 0;
}
@media (max-width: 768px) {
	.u2-page-hero__inner > .u2-bc,
	.u2-fv2-page-hero .u2-bc { margin-bottom: 18px; }
}

/* ---- Catalog/category/brand USP strip under the hero ---- */
.u2-cat03b-usp {
	background: var(--u2-dark);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	padding: 14px 0;
}
.u2-cat03b-usp__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: center;
}
.u2-cat03b-usp__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, .78);
	font-size: 12.5px;
	font-family: var(--u2-font-body);
	letter-spacing: .005em;
	white-space: nowrap;
}
.u2-cat03b-usp__chip svg { color: var(--u2-accent); flex: 0 0 auto; }

@media (max-width: 768px) {
	.u2-cat03b-usp__inner {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		justify-content: flex-start;
		padding: 0 14px;
		gap: 16px;
	}
	.u2-cat03b-usp__inner::-webkit-scrollbar { display: none; }
	.u2-cat03b-usp { padding: 10px 0; }
	.u2-cat03b-usp__chip { font-size: 11.5px; }
}

/* =====================================================================
   SOURCE 5 — usilenie-figma-rescue.css (loaded last → wins)
   ===================================================================== */

/* ---- Outline buttons on the dark catalog hero (only .u2-page-hero selectors
   kept; the .u2-objects-cta-v2 co-selectors were dropped as non-catalog) ---- */
.u2-page-hero .usilenie-btn--outline,
.u2-page-hero .btn--outline,
.u2-page-hero .u2-btn--outline {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .42);
}
.u2-page-hero .usilenie-btn--outline:hover,
.u2-page-hero .btn--outline:hover,
.u2-page-hero .u2-btn--outline:hover {
	background: rgba(255, 255, 255, .10);
	border-color: #fff;
	color: #fff;
}

/* ---- Dark-hero breadcrumb: consolidated into the Figma-warm block above (U2-CRUMB-FIX
   2026-06-03). The old cool-white .60/.66/.82 "contrast lift" was overriding the Figma
   alphas by source order — removed so the warm rgba(234,230,221,.35/.65) wins. ---- */

/* ---- Catalog filter "Применить" buttons → orange primary ---- */
.u2-filter-actions__apply,
.u2-filter .u2-filter__submit,
.u2-filter-panel .u2-filter__submit {
	background: var(--u2-accent, #cc5200) !important;
	color: #fff !important;
}
.u2-filter-actions__apply:hover,
.u2-filter .u2-filter__submit:hover,
.u2-filter-panel .u2-filter__submit:hover {
	background: var(--u2-accent-hover, #b34800) !important;
}

/* ---- Catalog filter → Figma look ---- */
.u2-filter { font-family: var(--u2-font-body, 'Inter', sans-serif); color: var(--u2-text-primary, #0c0d10); }
.u2-filter__header { padding: 2px 2px 12px; border-bottom: 1px solid #ecebe7; margin-bottom: 4px; }
.u2-filter__header-title { font-family: var(--u2-font-mono, ui-monospace, monospace); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--u2-text-secondary, #6b7280); font-weight: 600; }
.u2-filter__details { border: 0; border-top: 1px solid #efeee9; padding: 2px 0; }
.u2-filter__summary { padding: 15px 2px; font-size: 14.5px; font-weight: 600; color: var(--u2-text-primary, #0c0d10); }
.u2-filter__summary-text { font-size: 14.5px; font-weight: 600; }
.u2-filter__summary-count { background: transparent; border: 0; color: var(--u2-text-muted, #9ca3af); font-family: var(--u2-font-mono, monospace); font-size: 12px; font-weight: 400; padding: 0 4px; min-width: 0; }
.u2-filter__chevron { color: #b6b6bd; width: 13px; height: 13px; }
.u2-filter__details-body { padding: 2px 0 10px; }
.u2-filter__options--stack { gap: 2px; }
.u2-filter__option { padding: 0; }
.u2-filter__check-label { display: flex; align-items: center; gap: 11px; padding: 8px 2px; font-size: 14.5px; line-height: 1.3; color: #33353c; cursor: pointer; }
.u2-filter__check-label:hover { color: var(--u2-text-primary, #0c0d10); }
.u2-filter__checkbox { -webkit-appearance: auto; appearance: auto; width: 18px; height: 18px; accent-color: var(--u2-accent, #cc5200); flex: 0 0 auto; margin: 0; cursor: pointer; }
.u2-filter__option-text { font-size: 14.5px; }
.u2-filter__actions { margin-top: 18px; gap: 10px; }
.u2-filter .u2-filter__submit { border-radius: 0; padding: 12px 16px; font-size: 13px; }
.u2-filter .u2-filter__reset { border-radius: 0; padding: 12px 16px; font-size: 13px; background: #fff; border: 1px solid var(--u2-border, #e5e5e5); color: var(--u2-text-secondary, #6b7280); }
.u2-filter .u2-filter__reset:hover { border-color: #d0cfca; color: var(--u2-text-primary, #0c0d10); }
.u2-filter-group--stock .u2-filter-stock__row { display: flex; align-items: center; gap: 11px; padding: 8px 2px; font-size: 14.5px; color: #33353c; cursor: pointer; }
.u2-filter-group--stock .u2-filter-stock__cb { width: 18px; height: 18px; accent-color: var(--u2-accent, #cc5200); margin: 0; }
.u2-filter-group__title { font-family: var(--u2-font-mono, monospace); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--u2-text-secondary, #6b7280); font-weight: 600; }

/* ---- Brand-hero Figma parity (two-column header + stats) ---- */
.u2-brand-hero__grid {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.u2-brand-hero__main { flex: 1 1 520px; min-width: 0; }
.u2-brand-hero__aside {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	padding-top: 6px;
}
.u2-brand-hero__chip {
	display: inline-flex;
	align-items: center;
	font-family: var(--u2-font-mono, ui-monospace, monospace);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 6px;
	padding: 7px 13px;
}
.u2-brand-hero__cta { white-space: nowrap; }
.u2-brand-hero__cta-2 {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .42);
}
.u2-brand-hero__cta-2:hover { background: rgba(255, 255, 255, .10); border-color: #fff; }
.u2-brand-hero__stats {
	display: flex;
	gap: 40px;
	margin-top: 22px;
	flex-wrap: wrap;
}
.u2-brand-hero__stat { display: flex; flex-direction: column; gap: 4px; }
.u2-brand-hero__stat-num {
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
	color: #fff;
	letter-spacing: -.01em;
}
.u2-brand-hero__stat-label {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}
@media (max-width: 760px) {
	.u2-brand-hero__grid { gap: 22px; }
	.u2-brand-hero__aside { align-items: flex-start; width: 100%; }
	.u2-brand-hero__cta, .u2-brand-hero__cta-2 { width: 100%; text-align: center; justify-content: center; }
	.u2-brand-hero__stats { gap: 28px; }
	.u2-brand-hero__stat-num { font-size: 22px; }
}

/* ---- Filter header title: light it up on the dark head bar ---- */
.u2-shop-filter-sidebar__head .u2-shop-filter-sidebar__title {
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #fff;
	font-family: var(--u2-font-mono, ui-monospace, monospace);
	font-size: 12.5px;
	font-weight: 700;
}


/* ===== TOOLBAR + RESULT-BAR (greenfield) ===== */
/* =========================================================================
   _u2_toolbar.part.css — greenfield catalog toolbar + result-bar (Figma V2
   CatalogPage.tsx toolbar + filter-result bar). Gated markup = .u2-tbar /
   .u2-resultbar (list.php). Appended after the catalog-shell port so it owns
   the toolbar zone on migrated pages.
   ========================================================================= */

/* neutralise the ported .u2-shop-toolbar outer wrapper on migrated pages —
   .u2-tbar is the real flex container now. */
.u2-shop-toolbar { display: block; margin: 0 0 20px; padding: 0; border: 0; background: none; }

/* ---- top toolbar: filter [N] + count | sort ---- */
.u2-tbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.u2-tbar__left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.u2-tbar__filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	cursor: pointer;
	font-family: var(--u2-font-mono);
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #3A3A42;
	transition: border-color .15s, color .15s;
}
.u2-tbar__filter:hover { border-color: #CC5200; color: #CC5200; }
.u2-tbar__filter svg { width: 15px; height: 15px; }
.u2-tbar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px; height: 18px;
	background: #CC5200;
	color: #fff;
	border-radius: 2px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
.u2-tbar__count {
	font-family: var(--u2-font-mono);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #6E6E78;
	white-space: nowrap;
}
.u2-tbar__count strong { color: #0C0D10; font-weight: 700; }

/* sort (sort_block: .u2-toolbar--sort > .u2-toolbar__label + .u2-toolbar__select) */
.u2-tbar__sort { display: flex; align-items: center; }
.u2-tbar__sort .u2-toolbar, .u2-tbar__sort .u2-toolbar--sort {
	display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; border: 0; background: none;
}
.u2-toolbar__label {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #A0A0A8;
	white-space: nowrap;
}
.u2-toolbar__select {
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	padding: 10px 16px;
	font-family: var(--u2-font-mono);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: #0C0D10;
	cursor: pointer;
	outline: none;
}

/* ---- second panel: result-bar (shown when sidebar filters are active) ---- */
.u2-resultbar {
	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-resultbar__info { display: flex; align-items: center; gap: 10px; }
.u2-resultbar__info svg { flex-shrink: 0; }
.u2-resultbar__info span {
	font-family: var(--u2-font-body);
	font-size: 15px;
	line-height: 1.4;
	color: #3A3A42;
}
.u2-resultbar__info strong { font-weight: 700; color: #0C0D10; }
.u2-resultbar__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.u2-resultbar__reset {
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: #6E6E78;
	background: transparent;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	padding: 6px 14px;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.u2-resultbar__reset:hover { border-color: #0C0D10; color: #0C0D10; }
.u2-resultbar__analog {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: #CC5200;
	background: transparent;
	border: 1px solid rgba(204,82,0,0.3);
	border-radius: 0;
	padding: 6px 14px;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s, background .15s;
}
.u2-resultbar__analog:hover { border-color: #CC5200; background: rgba(204,82,0,0.06); }


/* ===== CATALOG POLISH: usp/paginator/show-more/seo ===== */
/* =========================================================================
   _u2_catalog_polish.part.css — greenfield Figma styling for the catalog
   bottom zone (pagination + show-more), the under-grid rich text block, and
   the USP strip. Loaded only on migrated catalog pages (head.php gate).
   ========================================================================= */

/* ---------- USP strip: cohesive dark band under the hero (not "stuck on") ---------- */
.u2-cat03b-usp {
	background: #0C0D10;
	border-top: 1px solid rgba(255,255,255,0.06);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.u2-cat03b-usp__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px 28px;
	padding: 15px 0;
}
.u2-cat03b-usp__chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: rgba(234,230,221,0.78);
	white-space: nowrap;
}
.u2-cat03b-usp__chip svg { flex-shrink: 0; color: #CC5200; stroke: #CC5200; }

/* ---------- Pagination (page numbers .paginat-d) — Figma pills ---------- */
.usilenie-shop-paginator { display: flex; justify-content: center; margin-top: 44px; }
.usilenie-shop-paginator .paginat-d {
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
}
.usilenie-shop-paginator .paginat-d__item {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	background: #FFFFFF; border: 1px solid #E2E0DA; border-radius: 0;
	font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: 0.02em;
	color: #3A3A42; text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
}
.usilenie-shop-paginator a.paginat-d__item:hover { border-color: #CC5200; color: #CC5200; }
.usilenie-shop-paginator .paginat-d__item_current {
	background: #0C0D10; border-color: #0C0D10; color: #FFFFFF;
}

/* ---------- "Показать ещё" load-more — clean design button (drop default scribble icon) ---------- */
.u2-product-grid > .paginator_more_button,
.u2-product-grid > .button-d.paginator_more_button { grid-column: 1 / -1; justify-self: center; }
.paginator_more_button,
a.button-d.paginator_more_button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0;
	margin: 28px auto 4px; padding: 15px 34px;
	background: transparent; border: 1px solid #0C0D10; border-radius: 0;
	font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase; color: #0C0D10;
	text-decoration: none; cursor: pointer; transition: background .15s, color .15s;
}
.paginator_more_button:hover { background: #0C0D10; color: #FFFFFF; }
.paginator_more_button .button-d__icon,
.paginator_more_button .icon-d { display: none; } /* drop the default scribble/loader glyph */
.paginator_more_button .button-d__name { line-height: 1; }

/* ---------- Under-grid rich text block (SEO / описание / применение) — tidy Figma block ---------- */
.u2-category-seo {
	margin-top: 52px;
	padding-top: 36px;
	border-top: 1px solid #E2E0DA;
}
.u2-category-seo__surface { background: transparent; }
.u2-category-seo__rich { max-width: 920px; }
.u2-category-seo__rich,
.u2-category-seo__rich p,
.u2-category-seo__rich li {
	font-family: var(--u2-font-body); font-size: 16px; line-height: 1.75; color: #3A3A42;
}
.u2-category-seo__rich h2,
.u2-category-seo__rich h3,
.u2-category-seo__rich h4 {
	font-family: var(--u2-font-heading); font-weight: 700; color: #0C0D10;
	letter-spacing: -0.02em; line-height: 1.2;
}
.u2-category-seo__rich h2 { font-size: 24px; margin: 34px 0 14px; }
.u2-category-seo__rich h3 { font-size: 19px; margin: 26px 0 10px; }
.u2-category-seo__rich h4 { font-size: 17px; margin: 22px 0 8px; }
.u2-category-seo__rich > :first-child { margin-top: 0; }
.u2-category-seo__rich p { margin: 0 0 16px; }
.u2-category-seo__rich strong { font-weight: 600; color: #0C0D10; }
.u2-category-seo__rich a { color: #CC5200; text-decoration: underline; text-underline-offset: 2px; }
.u2-category-seo__rich ul,
.u2-category-seo__rich ol { margin: 0 0 18px; padding: 0; list-style: none; }
.u2-category-seo__rich li { position: relative; padding-left: 24px; margin: 0 0 9px; }
.u2-category-seo__rich ul > li::before {
	content: ""; position: absolute; left: 0; top: 11px; width: 10px; height: 2px; background: #CC5200;
}
.u2-category-seo__rich ol { counter-reset: u2seo; }
.u2-category-seo__rich ol > li { counter-increment: u2seo; }
.u2-category-seo__rich ol > li::before {
	content: counter(u2seo) "."; position: absolute; left: 0; top: 0;
	font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; color: #CC5200;
}
.u2-category-seo__rich img,
.u2-category-seo__rich iframe,
.u2-category-seo__rich video {
	display: block; max-width: 100%; margin: 22px 0; border: 0;
}
.u2-category-seo__rich iframe { width: 100%; max-width: 760px; aspect-ratio: 16 / 9; height: auto; }
.u2-category-seo__more {
	display: inline-flex; align-items: center; margin-top: 14px; padding: 10px 22px;
	background: transparent; border: 1px solid #E2E0DA; border-radius: 0;
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase;
	color: #3A3A42; cursor: pointer; transition: border-color .15s, color .15s;
}
.u2-category-seo__more:hover { border-color: #0C0D10; color: #0C0D10; }

/* ---------- top-block vertical rhythm → Figma (tighten inflated empty bands) ---------- */
/* hero: header is a 100px fixed bar and the hero sits below it, so the big top pad reads as an
   empty dark band above the breadcrumb/eyebrow. Figma's effective gap above content is ~32px. */
.u2-page-hero, .u2-page-hero--shop-category, .u2-page-hero--shop-brand { padding-top: 32px; }
/* tabs → toolbar (was 32) and chips → result-bar (catalog-layout pt was 24) */
.u2-shop-catalog { padding-top: 16px; }
.u2-catalog-layout { padding-top: 2px; }
.u2-shop-toolbar { margin-bottom: 16px; }
.u2-filter-chips { margin-bottom: 14px; }

/* ---------- pagination: keep ONE (page-numbers, per Figma); hide the default «Показать ещё» load-more ---------- */
.paginator_more_button,
.usilenie-shop-paginator .paginator_more_button,
.u2-product-grid .paginator_more_button { display: none; }
.usilenie-shop-paginator { margin-top: 36px; padding: 0; background: none; }


/* ===== FILTER SIDEBAR (greenfield Figma) ===== */
/* =========================================================================
   _u2_sidebar.part.css — filter sidebar, GREENFIELD rebuild.
   Figma V2 ground truth: CatalogPage.tsx → FilterSidebar / FilterGroup / CheckRow.

   Fresh `u2fs-*` namespace. No ported `.u2-filter*` / `.u2-shop-filter-sidebar*` /
   `.u2-shop-cat__diafan-filter*` rule targets `u2fs-*`, so the whole sidebar is styled
   here with ZERO `!important` and zero specificity wars. Diafan JS hooks + input names
   (js_shop_search_form, brand[], stock[], p<id>[], cat_id, runner-d, timecalendar …)
   are preserved in the markup; only the visual classes are greenfield.
   ========================================================================= */

/* ---- wrapper: white card, hairline border, square; dark header is full-bleed (overflow hidden) ---- */
.u2fs {
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	overflow: hidden;
	padding: 0;
	font-family: var(--u2-font-body);
}

/* ---- dark header bar: «ФИЛЬТРЫ [N]» + «Сбросить» ---- */
.u2fs__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 20px;
	background: #0C0D10;
}
.u2fs__title {
	display: inline-flex;
	align-items: center;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #EAE6DD;
}
.u2fs__badge {
	margin-left: 8px;
	background: #CC5200;
	color: #fff;
	border-radius: 2px;
	padding: 1px 6px;
	font-family: var(--u2-font-mono);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.5;
}
.u2fs__reset {
	font-family: var(--u2-font-mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(234, 230, 221, 0.5);
	background: none;
	border: 0;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: color 0.15s;
}
.u2fs__reset:hover { color: #fff; }
.u2fs__close {
	display: none;
	background: none;
	border: 0;
	padding: 0;
	color: #EAE6DD;
	cursor: pointer;
	line-height: 0;
}

/* the Diafan form + its wrapper are transparent pass-throughs (groups carry the borders) */
.u2fs__diafan,
.u2fs__form { display: block; margin: 0; padding: 0; background: none; border: 0; }

/* ---- group (accordion via native <details>) ---- */
.u2fs__group {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid #ECEAE4;
}
.u2fs__group-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 14px 20px;
	margin: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	list-style: none;
	text-align: left;
}
.u2fs__group-head::-webkit-details-marker { display: none; }
.u2fs__group-title {
	flex: 1;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
	color: #3A3A42;
}
.u2fs__chevron {
	width: 11px;
	height: 11px;
	flex-shrink: 0;
	color: #A0A0A8;
	transition: transform 0.2s;
}
.u2fs__group[open] > .u2fs__group-head .u2fs__chevron { transform: rotate(180deg); }
.u2fs__group-body { padding: 4px 20px 18px; }

/* brand-facet search (rendered when >10 brands) */
.u2fs__search-wrap { margin: 2px 0 8px; }
.u2fs__search {
	width: 100%; box-sizing: border-box; height: 34px; padding: 6px 10px;
	border: 1px solid #D8D6D0; border-radius: 0; background: #fff;
	font-family: var(--u2-font-body, Inter, sans-serif); font-size: 13px; color: #0C0D10;
}
.u2fs__search:focus { outline: none; border-color: #CC5200; }
.u2fs__search::placeholder { color: #9A9AA2; }

/* ---- CheckRow: native 15px accent-orange checkbox + label + optional dot/count ---- */
.u2fs__row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	cursor: pointer;
	text-decoration: none;
}
.u2fs__row:last-child { margin-bottom: 0; }
.u2fs__cb {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	margin: 0;
	accent-color: #CC5200;
	cursor: pointer;
}
.u2fs__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.u2fs__label {
	flex: 1;
	font-family: var(--u2-font-body);
	font-size: 15px;
	line-height: 1.3;
	color: #3A3A42;
}
.u2fs__count {
	flex-shrink: 0;
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #C0BEBA;
}

/* ---- Категория rows are navigation links styled as checkbox rows (custom box) ---- */
.u2fs__box {
	position: relative;
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	border: 1.5px solid #C0BEBA;
	border-radius: 2px;
	background: #fff;
	transition: background 0.12s, border-color 0.12s;
}
.u2fs__row--link.is-checked .u2fs__box { background: #CC5200; border-color: #CC5200; }
.u2fs__row--link.is-checked .u2fs__box::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 1px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.u2fs__row--link.is-checked .u2fs__label { color: #CC5200; font-weight: 500; }
.u2fs__row--link:hover .u2fs__label { color: #CC5200; }

/* ---- range params (numtext / date): runner-d from/to inputs ---- */
.u2fs__range { display: flex; align-items: center; gap: 8px; }
.u2fs__range .runner-d { width: 100%; }
.u2fs__range-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
}
.u2fs__range-input {
	width: 100%;
	min-width: 0;
	padding: 9px 10px;
	background: #fff;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	font-family: var(--u2-font-mono);
	font-size: 13px;
	color: #3A3A42;
}
.u2fs__range-input:focus { outline: none; border-color: #CC5200; }
.u2fs__range-sep { color: #A0A0A8; flex-shrink: 0; }

/* ---- select dropdowns (Раздел / Категория on multi-site) ---- */
.u2fs__select {
	width: 100%;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	font-family: var(--u2-font-body);
	font-size: 15px;
	color: #3A3A42;
	cursor: pointer;
}
.u2fs__select:focus { outline: none; border-color: #CC5200; }

/* ---- actions: Apply DARK (hover orange) + Reset ghost ---- */
.u2fs__actions {
	display: flex;
	gap: 8px;
	padding: 16px 20px;
	border-top: 1px solid #ECEAE4;
}
.u2fs__apply,
.u2fs__mobile-show {
	flex: 1;
	padding: 12px;
	background: #0C0D10;
	color: #fff;
	border: 1px solid #0C0D10;
	border-radius: 0;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}
.u2fs__apply:hover,
.u2fs__mobile-show:hover { background: #CC5200; border-color: #CC5200; }
.u2fs__reset-btn {
	flex: 0 0 auto;
	padding: 12px 16px;
	background: transparent;
	color: #6E6E78;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	font-family: var(--u2-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.15s, color 0.15s;
}
.u2fs__reset-btn:hover { border-color: #0C0D10; color: #0C0D10; }
.u2fs__reset-btn._hidden { display: none; }

/* ---- mobile: sticky footer inside the drawer (desktop hides it) ---- */
.u2fs__mobile-footer { display: none; }
@media (max-width: 1023px) {
	.u2fs__close { display: inline-flex; }
	.u2fs__mobile-footer {
		display: flex;
		gap: 8px;
		padding: 14px 20px;
		border-top: 1px solid #ECEAE4;
		position: sticky;
		bottom: 0;
		background: #fff;
	}
	.u2fs__mobile-footer .u2fs__mobile-show,
	.u2fs__mobile-footer .u2fs__reset-btn { flex: 1; }
	/* the desktop in-form actions are redundant with the sticky footer on mobile */
	.u2fs__actions { display: none; }
}

/* USI-FILTER-LIVE: subtle busy state while the debounced AJAX request is in flight */
.u2-catalog-main.is-filtering { opacity: 0.55; pointer-events: none; transition: opacity 0.15s; }


/* ===== CARD .u2-pcard (greenfield) ===== */
/* =========================================================================
   _u2_pcard.part.css — ONE catalog product card (.u2-pcard), greenfield from
   Figma V2 source (_figma_work ProductCard.tsx + ProductVisual.tsx + theme.css).
   Structure: contained image panel / brand·article eyebrow / title / description /
   price / actions(КП + icon compare). Used on /shop/ AND /shop/<category>/.
   ========================================================================= */

/* grid cell + gap (Figma deployed grid = ~12px gutters, card supplies border) */
.u2-product-grid { gap: 12px; }
.u2-card-cell { display: flex; background: transparent; }

/* ---- card container ---- */
.u2-pcard {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
	border: 1px solid #E2E0DA;
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	transition: box-shadow .15s, border-color .15s;
}
.u2-pcard::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	z-index: 1;
	background: #CC5200;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s;
}
/* USI-CARD-HOVER (2026-06-27): whole-card hover = 1px accent perimeter border + soft lift (was a
   barely-visible grey border + a top-only orange accent strip → read as «only the top reacts»).
   :hover is on the card root so any part (photo/title/anons/price/buttons) lifts the whole card;
   the top ::before strip is replaced by the full accent frame for a uniform perimeter. */
.u2-pcard:hover { box-shadow: 0 6px 22px rgba(12,13,16,0.12); border-color: var(--u2-accent); }
.u2-pcard:hover::before { transform: scaleX(0); }
.u2-pcard:focus-within { outline: 2px solid #CC5200; outline-offset: -2px; }

/* ---- image panel: contained product visual, NOT full-bleed ---- */
.u2-pcard__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/* USI-IMGSLOT-1of1 (2026-06-12): square slot bounded by WIDTH (was fixed height:210px,
	   which made the 1200×1200 brand tiles render as tiny stamps with huge side margins while
	   horizontal photos filled the width). aspect-ratio keeps the slot square at every column
	   width; tiles fill it edge-to-edge, non-square photos letterbox without crop (contain). */
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	background: #F2F0EA;
	overflow: hidden;
	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.04);
}
.u2-pcard__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	/* USI-IMGSLOT-1of1: no padding -> square tiles fill the square slot edge-to-edge; non-square
	   photos still letterbox inside it (object-fit:contain, never cover/crop). */
	padding: 0;
	box-sizing: border-box;
	transition: transform .35s ease;
}
.u2-pcard:hover .u2-pcard__media img { transform: scale(1.04); }
.u2-pcard__ph {
	width: 56px; height: 56px;
	border: 1.5px solid #D8D6D0;
	opacity: .55;
}

/* ---- body ---- */
.u2-pcard__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 10px;
	padding: 14px 16px 16px;
}

/* ---- brand · article eyebrow (inline) ---- */
.u2-pcard__eyebrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 16px;
}
.u2-pcard__brand {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: #9A9AA2;
	text-decoration: none;
}
.u2-pcard__dot { color: #D8D6D0; font-size: 11px; line-height: 1; }
.u2-pcard__sku {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: #CC5200;
}

/* ---- title ---- */
.u2-pcard__title {
	margin: 0;
	font-family: var(--u2-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #0C0D10;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.u2-pcard__title a { color: inherit; text-decoration: none; }

/* ---- description (grows so price/actions sit at bottom) ---- */
.u2-pcard__desc {
	margin: 0;
	flex: 1;
	font-family: var(--u2-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #6E6E78;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---- price row ---- */
.u2-pcard__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	padding-top: 12px;
	border-top: 1px solid #ECEAE4;
}
.u2-pcard__price-value {
	font-family: var(--u2-font-mono);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #0C0D10;
}
.u2-pcard__price-value--req { font-weight: 700; }
.u2-pcard__price-unit {
	font-family: var(--u2-font-mono);
	font-size: 11px;
	color: #B0AEA8;
}
.u2-pcard__price-vat {
	margin-left: auto;
	font-family: var(--u2-font-mono);
	font-size: 10px;
	letter-spacing: 0.02em;
	color: #9A9AA2;
	white-space: nowrap;
}

/* ---- actions ---- */
.u2-pcard__actions {
	display: flex;
	gap: 8px;
	margin-top: auto;
}
.u2-pcard__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: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	transition: background .15s;
}
.u2-pcard__kp:hover { background: #A84200; }

/* add-to-cart form fills the actions row exactly like the КП link did */
.u2-pcard__buyform { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.u2-pcard__buybar, .u2-pcard__buyform .js_shop_buy { display: flex; flex: 1; }
.u2-pcard__kp--cart { flex: 1; width: 100%; }
.u2-pcard__buyform .error { font-family: var(--u2-font-mono); font-size: 11px; line-height: 1.4;
	color: #2E7D5E; margin-top: 6px; text-align: center; }
.u2-pcard__buyform .error a { color: inherit; text-decoration: none; }

/* ---- compare (icon-only 44px square; hide Diafan text label + hidden form) ---- */
.u2-pcard__compare { flex-shrink: 0; }
.u2-pcard__compare .compare-ico {
	width: 44px;
	min-height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid #E2E0DA;
	color: #A0A0A8;
	cursor: pointer;
	transition: all .15s;
}
.u2-pcard__compare .compare-ico:hover { border-color: #CC5200; color: #CC5200; }
.u2-pcard__compare .compare-ico._active {
	border-color: #CC5200;
	background: rgba(204,82,0,0.06);
	color: #CC5200;
}
.u2-pcard__compare .compare-ico__label {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.u2-pcard__compare .u2-pd__compare-svg { width: 18px; height: 18px; }
.u2-pcard__compare .js_shop_compare_form { display: none; }


/* ===== PDP .u2-pdp (greenfield) ===== */
/* =========================================================================
   _u2_pdp.part.css — GREENFIELD product detail page (.u2-pdp), Figma V2.
   Built into u2-system.css; loaded on the PDP via the head.php U2_PDP gate.
   Token-driven (--u2-*), ZERO !important, ZERO legacy-namespace overrides.
   Diafan/buy_form/compare hooks reused (.count-d / .u2-buy__* / .compare-ico)
   are restyled ONLY inside the .u2-pdp scope.
   ========================================================================= */

.u2-pdp { background: var(--u2-bg); color: var(--u2-fg); }
.u2-pdp *, .u2-pdp *::before, .u2-pdp *::after { box-sizing: border-box; }

/* ---- containers ---- */
.u2-pdp__crumbs { background: var(--u2-card); border-bottom: 1px solid var(--u2-divider); }
.u2-pdp__crumbs-inner,
.u2-pdp__inner {
	width: min(var(--u2-container-wide, 1728px), calc(100vw - var(--u2-page-gutter, 48px) * 2));
	margin-inline: auto;
}
.u2-pdp__crumbs-inner { padding: 11px 0; }
.u2-pdp__inner { padding: 32px 0 64px; }

/* breadcrumb — Figma light treatment over the unified .u2-bc component (show_breadcrumb emits
   the .u2-bc--dark modifier meant for the dark catalog hero; on this light strip we override it
   by source order, no !important). Last crumb = full real product name, slightly darker. */
.u2-pdp__crumbs #breadcrumbs.u2-bc { font-size: 13px; gap: 8px; font-family: var(--u2-font-mono); font-weight: 400; letter-spacing: .05em; }
.u2-pdp__crumbs #breadcrumbs.u2-bc,
.u2-pdp__crumbs #breadcrumbs .u2-bc__item,
.u2-pdp__crumbs #breadcrumbs .u2-bc__item * { color: var(--u2-muted); font-weight: 400; }
.u2-pdp__crumbs #breadcrumbs .u2-bc__link,
.u2-pdp__crumbs #breadcrumbs .u2-bc a { color: var(--u2-muted-2); text-decoration: none; font-weight: 400; }
.u2-pdp__crumbs #breadcrumbs .u2-bc__link:hover,
.u2-pdp__crumbs #breadcrumbs .u2-bc a:hover { color: var(--u2-accent); }
.u2-pdp__crumbs #breadcrumbs .u2-bc__item--current,
.u2-pdp__crumbs #breadcrumbs .u2-bc__item--current * { color: var(--u2-ink-2); }
.u2-pdp__crumbs #breadcrumbs .u2-bc__item:not(:first-child)::before { color: var(--u2-faint); opacity: 1; }

/* ========================================================================
   TOP — 3 columns: gallery | info | buy(sticky)
   ======================================================================== */
.u2-pdp__top {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr) 300px;
	column-gap: 40px;
	align-items: start;
	margin-bottom: 28px;
}
.u2-pdp__col { min-width: 0; }
.u2-pdp__col--gallery { display: flex; flex-direction: column; gap: 14px; }
.u2-pdp__col--info { display: flex; flex-direction: column; }

/* ---- Gallery ---- */
.u2-pdp__gallery { display: flex; flex-direction: column; gap: 12px; }
.u2-pdp__stage {
	position: relative;
	background: var(--u2-img-bg);
	border: 1px solid var(--u2-card-border);
	/* USI-IMGSLOT-1of1 (2026-06-12): square stage bounded by the gallery column WIDTH (was a
	   taller height-driven frame, which shrank the 1200×1200 brand tiles). aspect-ratio 1/1 lets
	   tiles fill edge-to-edge; non-square photos letterbox without crop (contain on the image). */
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.u2-pdp__stage--empty { background: var(--u2-surface-2); }
.u2-pdp__slides { position: relative; width: 100%; height: 100%; }
.u2-pdp__slide { display: none; width: 100%; height: 100%; }
/* R-P2(a): ONLY the active slide shows. Server always renders .is-active on slide 0
   and JS moves it on thumb/arrow click — the old `:first-child` fallback pinned slide 0
   permanently visible (both slides display:block), so inline switching looked broken. */
.u2-pdp__slide.is-active { display: block; }
.u2-pdp__slide-link { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; cursor: zoom-in; }
/* R-P2(a): Figma ProductVisual presentation — contained image on the calm light panel (--u2-img-bg ≈ #F1F0EC) with generous padding */
.u2-pdp__slide-link img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 0; } /* USI-IMGSLOT-1of1: edge-to-edge tiles; non-square letterboxed */

.u2-pdp__badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.u2-pdp__badge {
	font-family: var(--u2-font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.1em;
	text-transform: uppercase; color: #fff; padding: 5px 9px; line-height: 1;
}
.u2-pdp__badge--hit { background: var(--u2-accent); }
.u2-pdp__badge--action { background: var(--u2-dark); }
.u2-pdp__badge--new { background: var(--u2-ok); }

.u2-pdp__stage-nav { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 8px; pointer-events: none; }
.u2-pdp__stage-btn {
	pointer-events: auto; display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; background: rgba(255,255,255,0.95); border: 1px solid var(--u2-border-strong, #c9c6bf);
	color: var(--u2-dark, #0c0d10); cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,0.12);
	transition: background .15s, color .15s, border-color .15s;  /* R-P2(a): larger + higher-contrast so inline paging is discoverable */
}
.u2-pdp__stage-btn:hover { background: var(--u2-accent); color: #fff; border-color: var(--u2-accent); }

.u2-pdp__thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.u2-pdp__thumb {
	width: 64px; height: 64px; padding: 4px; background: var(--u2-card);
	border: 1px solid var(--u2-card-border); cursor: pointer; transition: border-color .15s;
	display: flex; align-items: center; justify-content: center;
}
.u2-pdp__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.u2-pdp__thumb:hover { border-color: var(--u2-border-strong); }
.u2-pdp__thumb.is-active { border-color: var(--u2-accent); box-shadow: inset 0 0 0 1px var(--u2-accent); } /* R-P2(a): selected thumb unmistakable */

/* ---- Passport (full-width outline) ---- */
.u2-pdp__passport-row { display: flex; }
.u2-pdp__passport {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
	min-height: 48px; padding: 0 18px; background: var(--u2-card);
	border: 1px solid var(--u2-accent-22); color: var(--u2-accent);
	font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
	text-transform: uppercase; text-decoration: none; transition: background .15s, border-color .15s;
}
.u2-pdp__passport:hover { background: var(--u2-accent-06); border-color: var(--u2-accent); }

/* ---- Info: meta (sku + status) ---- */
.u2-pdp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 12px; }
.u2-pdp__sku {
	font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
	color: var(--u2-accent); background: var(--u2-accent-06); padding: 4px 10px;
}
.u2-pdp__status { display: inline-flex; align-items: center; gap: 6px; font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-status, var(--u2-muted)); }
.u2-pdp__status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--u2-status, var(--u2-muted)); }

/* ---- rating empty-state ---- */
.u2-pdp__rating { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.u2-pdp__stars { display: inline-flex; align-items: center; gap: 3px; }
.u2-pdp__star { display: block; }
/* USI-RATING-01 (2026-06-24): stars are now <button>s (clickable rating → native diafan_rating).
   Fill driven by .is-filled / .is-preview classes (CSS var() resolves; a presentation-attribute
   var() would not). Native usilenie design — accent #CC5200, square, 0 !important. */
.u2-pdp__star { -webkit-appearance: none; appearance: none; background: none; border: 0; margin: 0; padding: 0 1px; line-height: 0; cursor: pointer; color: inherit; border-radius: 0; }
.u2-pdp__star svg { display: block; fill: none; stroke: var(--u2-accent); transition: fill .12s ease; }
.u2-pdp__star.is-filled svg, .u2-pdp__star.is-preview svg { fill: var(--u2-accent); }
.u2-pdp__star:focus-visible { outline: 2px solid var(--u2-accent); outline-offset: 2px; }
.js-usi-rate.is-rated .u2-pdp__star, .u2-pdp__star[disabled] { cursor: default; }
.u2-pdp__rating-meta { display: inline-flex; align-items: baseline; gap: 4px; font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); }
.u2-pdp__rating-thanks { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-ok); }
.u2-pdp__rating-rate, .u2-pdp__rating-qa {
	font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--u2-accent);
	text-decoration: none;
}
.u2-pdp__rating-rate:hover, .u2-pdp__rating-qa:hover { text-decoration: underline; text-underline-offset: 3px; }
.u2-pdp__rating-qa { color: var(--u2-muted); }
.u2-pdp__rating-count { color: var(--u2-muted); }
.u2-pdp__rating-score { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); }

/* ---- H1 ---- */
.u2-pdp__title {
	margin: 0 0 14px; font-family: var(--u2-font-heading); font-weight: 700;
	font-size: clamp(26px, 3.2vw, 40px); line-height: 1.1; letter-spacing: -0.03em; color: var(--u2-fg);
}

/* ---- lead + show-more ---- */
.u2-pdp__lead { margin-bottom: 22px; }
.u2-pdp__lead-text {
	margin: 0; font-family: var(--u2-font-body); font-size: 16px; line-height: 1.65; color: var(--u2-ink-2);
	max-width: 640px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.u2-pdp__lead.is-open .u2-pdp__lead-text { -webkit-line-clamp: unset; overflow: visible; }
.u2-pdp__lead-more {
	margin-top: 6px; padding: 0; background: none; border: none; cursor: pointer;
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-accent);
}
.u2-pdp__lead-more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---- spec mini-cards ---- */
.u2-pdp__specs {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px;
	margin: 0 0 24px; padding: 0; list-style: none;
}
.u2-pdp__spec {
	display: flex; flex-direction: column; gap: 7px;
	background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 14px 16px;
}
.u2-pdp__spec-label {
	font-family: var(--u2-font-mono); font-size: 10px; font-weight: 400; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--u2-muted-2); line-height: 1.4;
}
.u2-pdp__spec-value {
	font-family: var(--u2-font-heading); font-size: 18px; font-weight: 700; letter-spacing: -0.01em;
	color: var(--u2-fg); line-height: 1.2;
}

/* ---- brand block ---- */
.u2-pdp__brand { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 18px 20px; }
.u2-pdp__brand-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
/* R5: logo FILLS its zone — box is height-locked and hugs the logo width (no fixed 84px box,
   no inner letterbox bands), minimal padding so the mark reads large; white plate blends the
   common white-background manufacturer logos. */
.u2-pdp__brand-logo {
	flex-shrink: 0; height: 56px; max-width: 168px;
	padding: 7px 13px; background: #fff;
	border: 1px solid var(--u2-card-border);
	display: inline-flex; align-items: center; justify-content: center; overflow: hidden;
}
.u2-pdp__brand-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
/* R5: no-logo fallback — neutral light tile (warm plate + dark initial), NOT a black square. */
.u2-pdp__brand-initial {
	flex-shrink: 0; width: 56px; height: 56px; background: var(--u2-img-bg); color: var(--u2-fg);
	border: 1px solid var(--u2-card-border);
	display: inline-flex; align-items: center; justify-content: center; font-family: var(--u2-font-heading);
	font-size: 22px; font-weight: 700;
}
.u2-pdp__brand-meta { min-width: 0; }
.u2-pdp__brand-name { display: block; font-family: var(--u2-font-heading); font-size: 16px; font-weight: 700; color: var(--u2-fg); margin-bottom: 4px; }
.u2-pdp__brand-text { margin: 0; font-family: var(--u2-font-body); font-size: 13px; line-height: 1.55; color: var(--u2-muted); }
.u2-pdp__brand-cta { display: flex; flex-wrap: wrap; gap: 8px; }
.u2-pdp__brand-link {
	display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; text-decoration: none;
	font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; transition: background .15s, border-color .15s, color .15s;
}
.u2-pdp__brand-link--solid { background: var(--u2-dark); color: var(--u2-on-dark); text-transform: uppercase; font-weight: 700; }
.u2-pdp__brand-link--solid:hover { background: var(--u2-accent); }
.u2-pdp__brand-link--tag { background: transparent; color: var(--u2-muted); border: 1px solid var(--u2-card-border); }
.u2-pdp__brand-link--tag:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

/* ========================================================================
   BUY box (sticky)
   ======================================================================== */
.u2-pdp__col--buy { position: sticky; top: 96px; }
.u2-pdp__buy { background: var(--u2-card); border: 1px solid var(--u2-card-border); }
.u2-pdp__buy > * { padding: 16px 18px; border-bottom: 1px solid var(--u2-divider); }
.u2-pdp__buy > *:last-child { border-bottom: none; }

.u2-pdp__buy-eyebrow {
	display: block; font-family: var(--u2-font-mono); font-size: 10px; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--u2-muted-2); margin-bottom: 8px;
}
.u2-pdp__buy-amount-row { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.u2-pdp__buy-amount { font-family: var(--u2-font-heading); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; color: var(--u2-fg); }
.u2-pdp__buy-amount--req { font-size: 21px; }
.u2-pdp__buy-unit { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); }
.u2-pdp__buy-vat { margin: 8px 0 0; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.02em; color: var(--u2-muted-2); }
.u2-pdp__buy-vat--muted { color: var(--u2-faint); }

.u2-pdp__buy-rows { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.u2-pdp__buy-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.u2-pdp__buy-label { font-family: var(--u2-font-body); font-size: 13px; color: var(--u2-muted); }
.u2-pdp__buy-value { font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; color: var(--u2-fg); text-align: right; }

/* buy-form internals (Diafan markup, scoped restyle) */
.u2-pdp__buy-form { padding: 16px 18px; }
.u2-pdp__buy-form .u2-buy { margin: 0; }
.u2-pdp__buy-form .u2-buy__price { display: none; }   /* price shown in header; assistive summ span stays in DOM */
.u2-pdp__buy-form .u2-buy__depends,
.u2-pdp__buy-form .u2-buy__addons { margin-bottom: 12px; }
.u2-pdp__buy-form .u2-buy-select { width: 100%; min-height: 40px; border: 1px solid var(--u2-card-border); background: var(--u2-card); padding: 0 10px; font-family: var(--u2-font-body); font-size: 14px; }
.u2-pdp__buy-form .field-d__name { display: block; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted-2); margin-bottom: 6px; }
.u2-pdp__buy-interaction { display: flex; flex-direction: column; gap: 14px; }

/* qty stepper (full-width) */
.u2-pdp__buy-qty { display: flex; flex-direction: column; gap: 8px; }
.u2-pdp__qty { display: flex; align-items: center; gap: 10px; }
.u2-pdp__qty-control { display: flex; width: 100%; border: 1px solid var(--u2-card-border); }
.u2-pdp__qty-btn {
	flex: 0 0 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
	background: var(--u2-surface-warm); border: none; color: var(--u2-fg); cursor: pointer; transition: background .15s, color .15s;
}
.u2-pdp__qty-btn:first-child { border-right: 1px solid var(--u2-card-border); }
.u2-pdp__qty-btn:last-child { border-left: 1px solid var(--u2-card-border); }
.u2-pdp__qty-btn:hover { background: var(--u2-accent); color: #fff; }
.u2-pdp__qty-input {
	flex: 1 1 auto; min-width: 0; height: 46px; text-align: center; border: none; background: var(--u2-card);
	font-family: var(--u2-font-mono); font-size: 16px; font-weight: 700; color: var(--u2-fg);
}
.u2-pdp__qty-input:focus { outline: none; }
/* redundant unit beside the stepper — hidden (the unit is already in the «Единица» row) */
.u2-pdp__qty-unit { display: none; }

/* buy CTA stack */
.u2-pdp__buy-cta { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }

/* USI-BUY-CTA (2026-06-25): BUY is now the primary/accent CTA; «Сформировать КП» demoted to ghost.
   Function + «с печатью и подписью» caption preserved — only the visual weight swaps. */
/* «Сформировать КП» — secondary/ghost (outline); orange fill is reserved for the buy button */
.u2-pdp__kp {
	display: flex; flex-direction: column; align-items: center; gap: 3px; width: 100%;
	min-height: 50px; padding: 8px 16px; background: transparent; border: 1px solid var(--u2-border-strong);
	color: var(--u2-fg); text-decoration: none; transition: background .15s, border-color .15s, color .15s;
}
.u2-pdp__kp:hover { border-color: var(--u2-accent); color: var(--u2-accent); }
.u2-pdp__kp-line { display: inline-flex; align-items: center; gap: 8px; font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.u2-pdp__kp-arrow { font-size: 13px; }
.u2-pdp__kp-caption { font-family: var(--u2-font-mono); font-size: 10px; letter-spacing: 0.04em; color: var(--u2-muted); }

/* buy — PRIMARY/accent (orange) */
.u2-pdp__buy-primary { display: flex; }
.u2-pdp__btn--cart {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	min-height: 50px; padding: 0 16px; background: var(--u2-accent); border: 1px solid var(--u2-accent);
	color: #fff; cursor: pointer; font-family: var(--u2-font-mono); font-size: 13px;
	font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; transition: background .15s, border-color .15s, color .15s;
}
.u2-pdp__btn--cart:hover { background: var(--u2-accent-hover); border-color: var(--u2-accent-hover); }
.u2-pdp__btn--cart .button-d__name { color: inherit; }

/* compare (outline tertiary) — Diafan .compare-ico restyled */
.u2-pdp__buy-compare .compare-ico {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	min-height: 44px; padding: 0 16px; background: transparent; border: 1px solid var(--u2-card-border);
	color: var(--u2-muted); cursor: pointer; font-family: var(--u2-font-mono); font-size: 12px;
	letter-spacing: 0.07em; text-transform: uppercase; transition: border-color .15s, color .15s;
}
.u2-pdp__buy-compare .compare-ico:hover,
.u2-pdp__buy-compare .compare-ico._active { border-color: var(--u2-accent); color: var(--u2-accent); }
.u2-pdp__buy-compare .u2-pd__compare-svg { width: 18px; height: 18px; }
.u2-pdp__buy-compare .js_shop_compare_form { display: none; }

/* unavailable / errors inside form */
.u2-pdp__buy-form ._unavailable { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); }
.u2-pdp__buy-form .error { font-family: var(--u2-font-mono); font-size: 12px; line-height: 1.4; color: var(--u2-ok); margin-top: 8px; }
.u2-pdp__buy-form .error a { color: inherit; }

/* consult */
.u2-pdp__buy-consult { background: var(--u2-surface-warm); }
.u2-pdp__buy-consult-q { margin: 0 0 6px; font-family: var(--u2-font-body); font-size: 13px; color: var(--u2-ink-2); }
.u2-pdp__buy-consult-a { font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-accent); text-decoration: none; }
.u2-pdp__buy-consult-a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ========================================================================
   TABS (light, orange underline) + accordions (mobile)
   ======================================================================== */
.u2-pdp__tabs { margin-bottom: 44px; }
.u2-pdp__tabs-nav {
	display: flex; gap: 28px; border-bottom: 1px solid var(--u2-card-border); margin-bottom: 24px;
	overflow-x: auto; scrollbar-width: none;
}
.u2-pdp__tabs-nav::-webkit-scrollbar { display: none; }
.u2-pdp__tab {
	position: relative; flex-shrink: 0; padding: 14px 0; background: none; border: none; cursor: pointer;
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--u2-muted-2); transition: color .15s; white-space: nowrap;
}
.u2-pdp__tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--u2-accent); transform: scaleX(0); transition: transform .18s; }
.u2-pdp__tab:hover { color: var(--u2-ink-2); }
.u2-pdp__tab.is-active { color: var(--u2-fg); }
.u2-pdp__tab.is-active::after { transform: scaleX(1); }
.u2-pdp__tab-badge {
	display: inline-block; min-width: 16px; padding: 1px 4px; margin-left: 4px; background: var(--u2-accent);
	color: #fff; border-radius: var(--u2-radius-xs); font-size: 10px; line-height: 1.4; text-align: center;
}

.u2-pdp__panel { display: none; }
.u2-pdp__panel.is-active { display: block; }
.u2-pdp__acc { display: none; }                        /* accordion buttons hidden on desktop */
.u2-pdp__acc-panel[hidden] { display: block; }          /* on desktop, tab controls visibility — ignore [hidden] */

.u2-pdp__rich { font-family: var(--u2-font-body); font-size: 16px; line-height: 1.75; color: var(--u2-ink-2); max-width: 880px; }
.u2-pdp__rich p { margin: 0 0 14px; }
.u2-pdp__rich h2, .u2-pdp__rich h3, .u2-pdp__rich h4 { font-family: var(--u2-font-heading); color: var(--u2-fg); margin: 26px 0 12px; letter-spacing: -0.02em; }
.u2-pdp__rich h2 { font-size: 22px; } .u2-pdp__rich h3 { font-size: 19px; } .u2-pdp__rich h4 { font-size: 16px; }
.u2-pdp__rich ul, .u2-pdp__rich ol { margin: 0 0 14px; padding-left: 22px; }
.u2-pdp__rich li { margin-bottom: 7px; }
.u2-pdp__rich a { color: var(--u2-accent); }
.u2-pdp__rich img { max-width: 100%; height: auto; }
.u2-pdp__rich table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
.u2-pdp__rich td, .u2-pdp__rich th { border: 1px solid var(--u2-divider); padding: 8px 12px; text-align: left; font-size: 14px; }
.u2-pdp__muted { font-family: var(--u2-font-body); font-size: 15px; color: var(--u2-muted); }
.u2-pdp__video { max-width: 720px; }
.u2-pdp__video iframe, .u2-pdp__video video { width: 100%; aspect-ratio: 16 / 9; border: 0; }

/* spec table (Характеристики) */
.u2-pdp__spec-table { margin: 0; border: 1px solid var(--u2-card-border); }
.u2-pdp__spec-trow { display: flex; gap: 16px; padding: 11px 16px; border-bottom: 1px solid var(--u2-divider); background: var(--u2-card); }
.u2-pdp__spec-trow:last-child { border-bottom: none; }
.u2-pdp__spec-trow:nth-child(even) { background: #FAFAF8; }
.u2-pdp__spec-tname { flex: 0 0 42%; font-family: var(--u2-font-body); font-size: 14px; color: var(--u2-muted); }
.u2-pdp__spec-tval { flex: 1; font-family: var(--u2-font-mono); font-size: 14px; font-weight: 600; color: var(--u2-fg); }

/* docs groups */
.u2-pdp__docgroup { margin-bottom: 20px; }
.u2-pdp__docgroup:last-child { margin-bottom: 0; }
.u2-pdp__docgroup-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.u2-pdp__docgroup-title { margin: 0; font-family: var(--u2-font-heading); font-size: 15px; font-weight: 700; color: var(--u2-fg); }
.u2-pdp__docgroup-count { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted-2); }
.u2-pdp__doclist { margin: 0; padding: 0; list-style: none; border: 1px solid var(--u2-card-border); }
.u2-pdp__docrow { border-bottom: 1px solid var(--u2-divider); }
.u2-pdp__docrow:last-child { border-bottom: none; }
.u2-pdp__doclink { display: flex; align-items: center; gap: 14px; padding: 13px 16px; text-decoration: none; background: var(--u2-card); transition: background .15s; }
.u2-pdp__doclink:hover { background: var(--u2-surface-warm); }
.u2-pdp__doc-ico { flex-shrink: 0; color: var(--u2-accent); display: flex; }
.u2-pdp__doc-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.u2-pdp__doc-name { font-family: var(--u2-font-body); font-size: 14px; font-weight: 500; color: var(--u2-fg); }
.u2-pdp__doc-sub { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted-2); }
.u2-pdp__doc-dl { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted); }
.u2-pdp__doclink:hover .u2-pdp__doc-dl { color: var(--u2-accent); }
.u2-pdp__docs-empty { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 20px 22px; }
.u2-pdp__docs-empty-title { margin: 0 0 4px; font-family: var(--u2-font-heading); font-size: 16px; font-weight: 700; color: var(--u2-fg); }
.u2-pdp__docs-empty-text { margin: 0; font-family: var(--u2-font-body); font-size: 14px; color: var(--u2-muted); }
.u2-pdp__docs-empty-btn { margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; background: var(--u2-accent); color: #fff; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.u2-pdp__docs-empty-btn:hover { background: var(--u2-accent-hover); }

/* Q&A */
.u2-pdp__qa-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.u2-pdp__qa-eyebrow { margin: 0 0 6px; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--u2-accent); }
.u2-pdp__qa-title { margin: 0 0 8px; font-family: var(--u2-font-heading); font-size: 20px; font-weight: 700; color: var(--u2-fg); }
.u2-pdp__qa-sub { margin: 0; font-family: var(--u2-font-body); font-size: 14px; line-height: 1.6; color: var(--u2-muted); max-width: 560px; }
.u2-pdp__qa-cta { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; background: var(--u2-accent); color: #fff; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.u2-pdp__qa-cta:hover { background: var(--u2-accent-hover); }
.u2-pdp__qa-empty { font-family: var(--u2-font-body); font-size: 15px; color: var(--u2-muted); background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 18px 20px; }

/* ========================================================================
   SECTIONS (objects / related)
   ======================================================================== */
.u2-pdp__section { margin-bottom: 44px; }
.u2-pdp__section:last-child { margin-bottom: 0; }
.u2-pdp__section-head { margin-bottom: 18px; }
.u2-pdp__eyebrow { display: block; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--u2-accent); margin-bottom: 8px; }
.u2-pdp__section-title { margin: 0; font-family: var(--u2-font-heading); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; color: var(--u2-fg); }

/* objects — Figma text-only cards (no image), 3 per row */
.u2-pdp__objects-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.u2-pdp__object { display: flex; flex-direction: column; background: var(--u2-card); border: 1px solid var(--u2-card-border); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
a.u2-pdp__object:hover { border-color: var(--u2-border-strong); box-shadow: 0 4px 20px rgba(0,0,0,0.07); }
.u2-pdp__object-body { display: flex; flex-direction: column; gap: 9px; padding: 18px 20px; flex: 1; }
.u2-pdp__object-top { display: flex; align-items: center; justify-content: space-between; }
.u2-pdp__object-tag { font-family: var(--u2-font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--u2-accent); }
.u2-pdp__object-year { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted-2); }
.u2-pdp__object-name { margin: 0; font-family: var(--u2-font-heading); font-size: 17px; font-weight: 700; color: var(--u2-fg); line-height: 1.25; }
.u2-pdp__object-desc { margin: 0; font-family: var(--u2-font-body); font-size: 13px; line-height: 1.55; color: var(--u2-muted); }
.u2-pdp__object-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.u2-pdp__object-city { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-ink-2); }
.u2-pdp__object-go { font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-accent); }

/* related (reuse .u2-pcard COMPACT) — smaller cards, more per row */
.u2-pdp__related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 230px)); justify-content: start; gap: 12px; }
.u2-pcard--compact .u2-pcard__media { height: auto; aspect-ratio: 1 / 1; } /* USI-IMGSLOT-1of1: same square slot (was fixed 150px) */
.u2-pcard--compact .u2-pcard__media img { padding: 0; }
.u2-pcard--compact .u2-pcard__body { gap: 7px; padding: 12px 14px 14px; }
.u2-pcard--compact .u2-pcard__title { font-size: 15px; }
.u2-pcard--compact .u2-pcard__desc { display: none; }
.u2-pcard--compact .u2-pcard__price { padding-top: 10px; }
.u2-pcard--compact .u2-pcard__price-value { font-size: 14px; }
.u2-pcard--compact .u2-pcard__actions { margin-top: 0; }
.u2-pcard__more {
	display: inline-flex; align-items: center; margin-top: auto; padding-top: 8px;
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-accent);
	text-decoration: none;
}
.u2-pcard__more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* description content card (Figma content-block container) */
.u2-pdp__card { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 24px 28px; }
.u2-pdp__card .u2-pdp__rich { max-width: none; }

/* ========================================================================
   Embedded Diafan comments (Q&A) — greenfield-scoped restyle of the shared
   .us-product-comments / .element-d_comments widget (no legacy CSS reload).
   ======================================================================== */
.u2-pdp__comments { font-family: var(--u2-font-body); }
.u2-pdp__comments .us-product-comments__list { list-style: none; margin: 0; padding: 0; }
.u2-pdp__comments .element-d_comments_item { padding: 16px 0; border-bottom: 1px solid var(--u2-divider); }
.u2-pdp__comments .element-d_comments_item:first-child { padding-top: 0; }
.u2-pdp__comments .element-d__images,
.u2-pdp__comments .account-d__images,
.u2-pdp__comments .account-d__avatar { display: none; }
.u2-pdp__comments .account-d_row { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 4px; }
.u2-pdp__comments .detail-d_name { font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: var(--u2-accent); }
.u2-pdp__comments .detail-d_date,
.u2-pdp__comments .element-d__date { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted-2); }
.u2-pdp__comments .detail-d_params { margin: 2px 0; }
.u2-pdp__comments .param-d.comments_param { display: inline-flex; gap: 6px; font-size: 13px; }
.u2-pdp__comments .param-d__name { color: var(--u2-muted); }
.u2-pdp__comments .param-d__value { color: var(--u2-fg); font-weight: 600; }
.u2-pdp__comments .detail-d_text { font-size: 15px; line-height: 1.6; color: var(--u2-ink-2); margin: 6px 0; }
.u2-pdp__comments .detail-d_text p { margin: 0 0 8px; }
.u2-pdp__comments .element-d__functions { margin-top: 8px; }
.u2-pdp__comments .functions-d__list { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.u2-pdp__comments .function-d_answer {
	display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; background: transparent;
	border: 1px solid var(--u2-card-border); color: var(--u2-muted); cursor: pointer;
	font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
	text-decoration: none; transition: border-color .15s, color .15s;
}
.u2-pdp__comments .function-d_answer:hover { border-color: var(--u2-accent); color: var(--u2-accent); }
.u2-pdp__comments .function-d_answer .button-d__name { color: inherit; }
.u2-pdp__comments .element-d_comments_item .element-d_comments_item { padding-left: 18px; border-left: 2px solid var(--u2-divider); border-bottom: none; }
.u2-pdp__comments .us-product-comments__form { margin-top: 16px; background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 16px; }
.u2-pdp__comments .field-d { margin-bottom: 12px; }
.u2-pdp__comments .field-d__name { display: block; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted-2); margin-bottom: 6px; }
.u2-pdp__comments textarea,
.u2-pdp__comments input[type="text"],
.u2-pdp__comments input[type="email"] { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid var(--u2-card-border); background: var(--u2-card); font-family: var(--u2-font-body); font-size: 14px; color: var(--u2-fg); }
.u2-pdp__comments textarea { min-height: 96px; resize: vertical; }
.u2-pdp__comments textarea:focus,
.u2-pdp__comments input:focus { outline: none; border-color: var(--u2-accent); }
.u2-pdp__comments .us-product-comments__submit,
.u2-pdp__comments button[type="submit"],
.u2-pdp__comments .js_comments_send {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px;
	background: var(--u2-accent); color: #fff; border: none; cursor: pointer; font-family: var(--u2-font-mono);
	font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase;
}
.u2-pdp__comments .us-product-comments__submit:hover,
.u2-pdp__comments button[type="submit"]:hover,
.u2-pdp__comments .js_comments_send:hover { background: var(--u2-accent-hover); }
/* ---- official-answer (USILENIE.NET) + asker author ---- */
.u2-pdp__comments .us-comment__author { font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: var(--u2-ink-2); }
.u2-pdp__comments .us-comment--official { background: var(--u2-accent-06); border-left: 3px solid var(--u2-accent); padding: 16px 0 16px 16px; }
.u2-pdp__comments .us-comment--official .us-comment__author { color: var(--u2-accent); }
.u2-pdp__comments .us-comment__badge { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; padding: 2px 8px; background: var(--u2-accent); color: #fff; font-family: var(--u2-font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; border-radius: var(--u2-radius-xs); }
.u2-pdp__comments .us-comment__badge svg { flex-shrink: 0; }
/* nested official answers keep the left accent but no double-indent background bleed */
.u2-pdp__comments .element-d_comments_item .us-comment--official { padding-left: 14px; }

/* ---- R6: Q&A FORM in u2 tokens (font + flat inputs/button) to match the PDP. The legacy
   usilenie-product-comments.css (.page-product .us-product-comments__* = 0,2,0) loads AFTER
   u2-system.css and uses font:inherit + rounded corners → system-font look. Override at 0,3,0
   via the .u2-pdp ancestor (no !important). Visual only — js_comments_* hooks + field names intact. */
.u2-pdp .u2-pdp__comments .us-product-comments__form { border-radius: 0; background: var(--u2-card); border: 1px solid var(--u2-card-border); }
.u2-pdp .u2-pdp__comments .us-product-comments__form-title { font-family: var(--u2-font-heading); font-size: 18px; font-weight: 700; color: var(--u2-fg); margin: 0 0 4px; }
.u2-pdp .u2-pdp__comments .us-product-comments__form-hint { font-family: var(--u2-font-body); font-size: 13px; line-height: 1.5; color: var(--u2-muted); }
.u2-pdp .u2-pdp__comments .us-product-comments__label,
.u2-pdp .u2-pdp__comments .us-product-comments__field-title { font-family: var(--u2-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted-2); }
.u2-pdp .u2-pdp__comments .us-product-comments__textarea,
.u2-pdp .u2-pdp__comments .us-product-comments__input { font-family: var(--u2-font-body); font-size: 14px; border-radius: 0; border: 1px solid var(--u2-card-border); background: var(--u2-card); color: var(--u2-fg); padding: 10px 12px; }
.u2-pdp .u2-pdp__comments .us-product-comments__textarea:focus,
.u2-pdp .u2-pdp__comments .us-product-comments__input:focus { border-color: var(--u2-accent); box-shadow: none; }
.u2-pdp .u2-pdp__comments .us-product-comments__textarea::placeholder { font-family: var(--u2-font-body); }
.u2-pdp .u2-pdp__comments .us-product-comments__file { border-radius: 0; font-family: var(--u2-font-body); }
.u2-pdp .u2-pdp__comments .us-product-comments__submit { font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 0; background: var(--u2-accent); color: #fff; padding: 13px 26px; }
.u2-pdp .u2-pdp__comments .us-product-comments__submit:hover { background: var(--u2-accent-hover); }
.u2-pdp .u2-pdp__comments .us-product-comments__privacy,
.u2-pdp .u2-pdp__comments .us-product-comments__required { font-family: var(--u2-font-body); font-size: 12px; color: var(--u2-muted); }

/* ========================================================================
   RESPONSIVE
   ======================================================================== */
@media (max-width: 1200px) {
	.u2-pdp__top { grid-template-columns: 320px minmax(0, 1fr) 280px; column-gap: 28px; }
}

/* tablet / mobile: stack the 3 columns and reorder per the 18-step ТЗ */
@media (max-width: 1023px) {
	/* USI-TPLCFG-PDPPAD (2026-06-07): align-items:stretch so the stacked gallery fills the column
	   width — base align-items:start (desktop grid) left the mobile gallery content-width + left-
	   aligned → a bigger right gap than left. */
	.u2-pdp__top { display: flex; flex-direction: column; gap: 22px; align-items: stretch; }
	.u2-pdp__col { display: contents; }            /* lift children into the flex column */
	/* 18-step order: gallery → passport → meta → rating → H1 → lead → specs → buy → brand */
	.u2-pdp__gallery        { order: 1; }
	.u2-pdp__passport-row   { order: 2; }
	.u2-pdp__meta           { order: 3; margin-bottom: 0; }
	.u2-pdp__rating         { order: 4; margin-bottom: 0; }
	.u2-pdp__title          { order: 5; margin-bottom: 0; }
	.u2-pdp__lead           { order: 6; margin-bottom: 0; }
	.u2-pdp__specs          { order: 7; margin-bottom: 0; }
	.u2-pdp__buy            { order: 8; }
	.u2-pdp__brand          { order: 9; }
	.u2-pdp__col--buy { position: static; top: auto; }

	/* desktop tabs → accordions */
	.u2-pdp__tabs-nav { display: none; }
	.u2-pdp__panel,
	.u2-pdp__panel.is-active { display: block; }
	.u2-pdp__panel { border: 1px solid var(--u2-card-border); border-bottom: none; }
	.u2-pdp__panel:last-child { border-bottom: 1px solid var(--u2-card-border); }
	.u2-pdp__acc {
		display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
		padding: 15px 16px; background: var(--u2-card); border: none; cursor: pointer;
		font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.04em;
		text-transform: uppercase; color: var(--u2-fg);
	}
	.u2-pdp__acc .u2-pdp__chev { transition: transform .2s; flex-shrink: 0; }
	.u2-pdp__acc[aria-expanded="true"] .u2-pdp__chev { transform: rotate(180deg); }
	.u2-pdp__acc-panel { padding: 0 16px 18px; }
	.u2-pdp__acc-panel[hidden] { display: none; }   /* mobile: respect collapsed state */
	/* desc card is flat inside the accordion (the panel is already the container) */
	.u2-pdp__card { border: none; padding: 0; background: transparent; }
	.u2-pdp__objects-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
	.u2-pdp__inner { padding: 22px 0 48px; }
	.u2-pdp__specs { grid-template-columns: repeat(2, 1fr); }
	.u2-pdp__related-grid { grid-template-columns: repeat(2, 1fr); }
	.u2-pdp__objects-grid { grid-template-columns: 1fr; }
	.u2-pdp__qa-head { flex-direction: column; }
	.u2-pdp__docs-empty-btn { margin-left: 0; }
	.u2-pdp__title { font-size: clamp(22px, 7vw, 28px); }
}


/* ===== CART .u2-cart (greenfield) ===== */
/* =========================================================================
   _u2_cart.part.css — GREENFIELD cart (.u2-cart), Figma V2.
   Built into u2-system.css; loaded on the cart via the head.php U2_CART gate.
   Token-driven (--u2-*), ZERO !important, ZERO legacy-namespace overrides.
   Diafan recalc/remove hooks (js_cart_*, count-d, del<id>) restyled only inside
   the .u2-cart scope.
   ========================================================================= */

.u2-cart { background: var(--u2-bg); color: var(--u2-fg); }
.u2-cart *, .u2-cart *::before, .u2-cart *::after { box-sizing: border-box; }
.u2-cart__inner {
	width: min(1280px, calc(100vw - var(--u2-page-gutter, 48px) * 2));
	margin-inline: auto;
	padding: 22px 0 64px;
}

/* breadcrumb (light, over the .u2-bc component; overrides .u2-bc--dark by source order) */
.u2-cart__crumbs { margin-bottom: 10px; }
.u2-cart__crumbs #breadcrumbs.u2-bc { font-size: 13px; gap: 8px; font-family: var(--u2-font-mono); font-weight: 400; letter-spacing: .05em; }
.u2-cart__crumbs #breadcrumbs.u2-bc, .u2-cart__crumbs #breadcrumbs .u2-bc__item, .u2-cart__crumbs #breadcrumbs .u2-bc__item * { color: var(--u2-muted); font-weight: 400; }
.u2-cart__crumbs #breadcrumbs .u2-bc__link, .u2-cart__crumbs #breadcrumbs .u2-bc a { color: var(--u2-muted-2); text-decoration: none; font-weight: 400; }
.u2-cart__crumbs #breadcrumbs .u2-bc__link:hover, .u2-cart__crumbs #breadcrumbs .u2-bc a:hover { color: var(--u2-accent); }
.u2-cart__crumbs #breadcrumbs .u2-bc__item--current, .u2-cart__crumbs #breadcrumbs .u2-bc__item--current * { color: var(--u2-ink-2); }
.u2-cart__crumbs #breadcrumbs .u2-bc__item:not(:first-child)::before { color: var(--u2-faint); opacity: 1; }

.u2-cart__head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
.u2-cart__h1 { margin: 0; font-family: var(--u2-font-heading); font-size: clamp(26px, 3vw, 34px); font-weight: 700; letter-spacing: -0.03em; color: var(--u2-fg); }
.u2-cart__count { font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: 0.02em; color: var(--u2-muted-2); }

/* ---- layout ---- */
.u2-cart__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.u2-cart__main { min-width: 0; }

/* ---- rows ---- */
.u2-cart__items { background: var(--u2-card); border: 1px solid var(--u2-card-border); }
.u2-cart-row {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) auto 132px 40px;
	align-items: center; gap: 18px;
	padding: 16px 18px; border-bottom: 1px solid var(--u2-divider);
}
.u2-cart-row:last-of-type { border-bottom: none; }
.u2-cart-row__media { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; background: var(--u2-img-bg); border: 1px solid var(--u2-card-border); overflow: hidden; }
.u2-cart-row__media img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 0; } /* USI-IMGSLOT-1of1: square 84/64px slot already 1:1; edge-to-edge tile */
.u2-cart-row__media-ph { width: 100%; height: 100%; background: var(--u2-surface-2); }
.u2-cart-row__main { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.u2-cart-row__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.u2-cart-row__brand { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted-2); }
.u2-cart-row__article { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.04em; color: var(--u2-accent); }
.u2-cart-row__name { font-family: var(--u2-font-heading); font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--u2-fg); text-decoration: none; }
.u2-cart-row__name:hover { color: var(--u2-accent); }
.u2-cart-row__unitprice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.u2-cart-row__unit-val { font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; color: var(--u2-ink-2); }
.u2-cart-row__unit-pack { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); }
.u2-cart-row__unit-vat { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted-2); }
.u2-cart-row__unit-req { font-family: var(--u2-font-mono); font-size: 13px; color: var(--u2-muted); }

/* qty stepper */
.u2-cart-row__qty { display: flex; justify-content: center; }
.u2-cart-row__stepper { display: inline-flex; }
.u2-cart-row__stepper .count-d__control { display: inline-flex; border: 1px solid var(--u2-card-border); }
.u2-cart-row__step { width: 38px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: var(--u2-surface-warm); border: none; color: var(--u2-fg); cursor: pointer; transition: background .15s, color .15s; }
.u2-cart-row__step:first-child { border-right: 1px solid var(--u2-card-border); }
.u2-cart-row__step:last-child { border-left: 1px solid var(--u2-card-border); }
.u2-cart-row__step:hover { background: var(--u2-accent); color: #fff; }
.u2-cart-row__qty-input { width: 48px; height: 40px; text-align: center; border: none; background: var(--u2-card); font-family: var(--u2-font-mono); font-size: 15px; font-weight: 700; color: var(--u2-fg); }
.u2-cart-row__qty-input:focus { outline: none; }
.u2-cart-row__qty-static { font-family: var(--u2-font-mono); font-size: 15px; font-weight: 700; }

/* line sum */
.u2-cart-row__sum { text-align: right; }
.u2-cart-row__sum-val { font-family: var(--u2-font-heading); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; color: var(--u2-fg); }
.u2-cart-row__sum-req, .u2-cart__sum-req { font-family: var(--u2-font-mono); font-size: 13px; color: var(--u2-muted); }

/* remove */
.u2-cart-row__remove { display: flex; justify-content: flex-end; }
.u2-cart-row__remove-cb { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.u2-cart-row__remove-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--u2-muted-2); cursor: pointer; transition: color .15s, background .15s; }
.u2-cart-row__remove-btn:hover { color: var(--u2-accent); background: var(--u2-accent-06); }

/* recalc (auto via JS; button hidden — kept as no-JS submit hook) */
.u2-cart__recalc-btn { margin-top: 12px; padding: 9px 16px; background: transparent; border: 1px solid var(--u2-card-border); color: var(--u2-ink-2); font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; }
.u2-cart__recalc-btn:hover { border-color: var(--u2-accent); color: var(--u2-accent); }
.u2-cart__continue { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-muted); text-decoration: none; }
.u2-cart__continue:hover { color: var(--u2-accent); }
.u2-cart__error { font-family: var(--u2-font-mono); font-size: 13px; color: #C0392B; margin-bottom: 12px; }

/* ---- summary ---- */
.u2-cart__summary { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.u2-cart__summary-card { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 20px 22px; }
.u2-cart__summary-title { margin: 0 0 14px; font-family: var(--u2-font-heading); font-size: 18px; font-weight: 700; color: var(--u2-fg); }
.u2-cart__summary-lines { margin: 0; }
.u2-cart__summary-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--u2-divider); }
.u2-cart__summary-line dt { margin: 0; font-family: var(--u2-font-body); font-size: 14px; color: var(--u2-muted); }
.u2-cart__summary-line dd { margin: 0; font-family: var(--u2-font-mono); font-size: 14px; font-weight: 700; color: var(--u2-fg); text-align: right; }
.u2-cart__summary-line--total { border-bottom: none; padding-top: 12px; }
.u2-cart__summary-line--total dt { font-size: 15px; color: var(--u2-fg); font-weight: 500; }
.u2-cart__summary-line--total dd strong { font-family: var(--u2-font-heading); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.u2-cart__summary-vat { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted-2); }
.u2-cart__summary-vat.is-hidden { display: none; }

/* ---- КП form (3 fields) ---- */
.u2-cart-kp { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 20px 22px; }
.u2-cart-kp__title { margin: 0 0 4px; font-family: var(--u2-font-heading); font-size: 18px; font-weight: 700; color: var(--u2-fg); }
.u2-cart-kp__lead { margin: 0 0 16px; font-family: var(--u2-font-body); font-size: 13px; line-height: 1.5; color: var(--u2-muted); }
.u2-cart-kp__field { margin: 0 0 12px; min-width: 0; }
.u2-cart-kp__field label { display: block; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-muted-2); margin: 0 0 5px; }
.u2-cart-kp__field input { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--u2-card-border); background: var(--u2-card); font-family: var(--u2-font-body); font-size: 14px; color: var(--u2-fg); }
.u2-cart-kp__field input:focus { outline: none; border-color: var(--u2-accent); }
.u2-cart-kp__field .errors { font-family: var(--u2-font-mono); font-size: 12px; color: #C0392B; margin-top: 5px; }
.u2-cart-kp__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.u2-cart-kp__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; padding: 0 18px; border: 1px solid transparent; cursor: pointer; font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; transition: background .15s, border-color .15s, color .15s; }
.u2-cart-kp__btn--primary { background: var(--u2-accent); color: #fff; }
.u2-cart-kp__btn--primary:hover { background: var(--u2-accent-hover); }
.u2-cart-kp__btn--ghost { background: transparent; border-color: var(--u2-border-strong); color: var(--u2-fg); }
.u2-cart-kp__btn--ghost:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

/* ============================================================================
   USI-CHECKOUT-01 (2026-06-25): 4-step cart checkout (lead-capture) — native usilenie skin.
   Only the STRUCTURE (progress 01–04, layout) is borrowed from carbonwrap; visuals = usilenie
   tokens (accent #CC5200, radius 0, Space Mono labels, input #ECEAE4). 0 !important.
   ============================================================================ */
/* step 1: «Сформировать КП» demoted to secondary (ghost) only in the cart summary — «Продолжить к
   оформлению» is the primary CTA. Scoped so the class default elsewhere is untouched. */
.u2-cart__summary-kp .u2-cart-kp__btn--primary { background: transparent; border-color: var(--u2-border-strong); color: var(--u2-fg); }
.u2-cart__summary-kp .u2-cart-kp__btn--primary:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

.u2-cart__checkout-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; margin-bottom: 14px; padding: 0 18px; background: var(--u2-accent); color: #fff; text-decoration: none; font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; transition: background .15s; }
.u2-cart__checkout-cta:hover { background: var(--u2-accent-hover); }
.u2-cart__checkout-or { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--u2-muted); }
.u2-cart__checkout-or::before, .u2-cart__checkout-or::after { content: ""; flex: 1; height: 1px; background: var(--u2-card-border); }

.u2-cart__main-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.u2-cart__clear { background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--u2-muted); transition: color .15s; }
.u2-cart__clear:hover { color: var(--u2-accent); }

.u2-checkout-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 26px; padding: 0; list-style: none; }
.u2-checkout-step { flex: 1 1 160px; display: flex; }
.u2-checkout-step__in { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; border: 1px solid var(--u2-card-border); background: transparent; color: var(--u2-muted); text-decoration: none; transition: border-color .15s, color .15s; }
.u2-checkout-step__num { font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; }
.u2-checkout-step__label { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.2; }
.u2-checkout-step.is-active .u2-checkout-step__in { border-color: var(--u2-accent); color: var(--u2-fg); }
.u2-checkout-step.is-active .u2-checkout-step__num { color: var(--u2-accent); }
.u2-checkout-step.is-done .u2-checkout-step__in { border-color: var(--u2-border-strong); color: var(--u2-fg); }
a.u2-checkout-step__in:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

.u2-checkout__layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 28px; align-items: start; }
.u2-checkout__main { min-width: 0; }
.u2-checkout__form-title { font-family: var(--u2-font-heading); font-size: 20px; font-weight: 700; margin: 0 0 18px; color: var(--u2-fg); }
.u2-checkout__field { margin-bottom: 16px; }
.u2-checkout__field > label { display: block; margin-bottom: 6px; font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u2-muted); }
.u2-checkout__field input[type="text"], .u2-checkout__field input[type="tel"], .u2-checkout__field input[type="email"] { width: 100%; min-height: 48px; padding: 0 14px; background: #ECEAE4; border: 1px solid var(--u2-border-strong); color: var(--u2-fg); font-family: inherit; font-size: 15px; border-radius: 0; transition: border-color .15s; }
.u2-checkout__field input:focus { outline: none; border-color: var(--u2-accent); }
.u2-checkout__opt { color: var(--u2-muted); text-transform: none; letter-spacing: 0; }
.u2-checkout__req { color: var(--u2-accent); }
.u2-checkout__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.u2-checkout__radios { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.u2-checkout__radio { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid var(--u2-border-strong); cursor: pointer; transition: border-color .15s; }
.u2-checkout__radio.is-checked, .u2-checkout__radio:hover { border-color: var(--u2-accent); }
.u2-checkout__radio input { position: absolute; opacity: 0; width: 0; height: 0; }
.u2-checkout__radio-mark { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; border: 1px solid var(--u2-border-strong); border-radius: 50%; position: relative; transition: border-color .15s; }
.u2-checkout__radio input:checked + .u2-checkout__radio-mark { border-color: var(--u2-accent); }
.u2-checkout__radio input:checked + .u2-checkout__radio-mark::after { content: ""; position: absolute; inset: 3px; background: var(--u2-accent); border-radius: 50%; }
.u2-checkout__radio-body b { display: block; font-size: 15px; color: var(--u2-fg); }
.u2-checkout__radio-body small { display: block; margin-top: 3px; font-size: 13px; color: var(--u2-muted); }

.u2-checkout__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
.u2-checkout__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 26px; border: 1px solid transparent; cursor: pointer; text-decoration: none; font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; transition: background .15s, border-color .15s, color .15s; }
.u2-checkout__btn--primary { background: var(--u2-accent); color: #fff; }
.u2-checkout__btn--primary:hover { background: var(--u2-accent-hover); }
.u2-checkout__btn--ghost { background: transparent; border-color: var(--u2-border-strong); color: var(--u2-fg); }
.u2-checkout__btn--ghost:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

.u2-checkout__review-block { border: 1px solid var(--u2-card-border); padding: 16px 18px; margin-bottom: 14px; }
.u2-checkout__review-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u2-fg); }
.u2-checkout__review-head a { font-size: 11px; color: var(--u2-accent); text-decoration: none; text-transform: none; letter-spacing: 0; }
.u2-checkout__review-head a:hover { text-decoration: underline; }
.u2-checkout__review-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 14px; }
.u2-checkout__review-list dt { color: var(--u2-muted); margin: 0; }
.u2-checkout__review-list dd { margin: 0; color: var(--u2-fg); text-align: right; }
.u2-checkout__review-cart { margin: 0; padding-left: 18px; }
.u2-checkout__review-cart li { font-size: 14px; color: var(--u2-fg); padding: 2px 0; }
.u2-checkout__submit-wrap { margin-top: 18px; }
.u2-checkout-order__form { display: flex; flex-direction: column; gap: 12px; }
.u2-checkout-order__privacy { font-size: 12px; color: var(--u2-muted); margin: 0; }
.u2-checkout-order__privacy a { color: var(--u2-accent); }
/* USI-CONSENT (2026-06-25): small muted Inter consent label on the review step (was unstyled = large/foreign). */
.u2-checkout-order__consent { display: flex; align-items: flex-start; gap: 8px; margin: 2px 0 4px; font-family: var(--u2-font-body); font-size: 12px; line-height: 1.45; color: var(--u2-muted); }
.u2-checkout-order__consent input { margin-top: 1px; width: 16px; height: 16px; accent-color: var(--u2-accent); flex: 0 0 auto; }
.u2-checkout-order__consent a { color: var(--u2-accent); }
/* USI-CITY-TOGGLE (2026-06-25): «Город / адрес» hidden by default; shown only when a non-pickup (delivery)
   method is selected. --shown = correct initial state (no-JS); :has() toggles live on radio change. */
.u2-checkout__city { display: none; }
.u2-checkout__city.u2-checkout__city--shown { display: block; }
.u2-checkout__form:has(input[name="usi_delivery"][data-usi-pickup="1"]:checked) .u2-checkout__city { display: none; }
.u2-checkout__form:has(input[name="usi_delivery"]:not([data-usi-pickup="1"]):checked) .u2-checkout__city { display: block; }
.u2-checkout-order__submit { align-self: flex-start; }
.u2-checkout__back-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u2-muted); text-decoration: none; }
.u2-checkout__back-link:hover { color: var(--u2-accent); }

.u2-checkout__aside-card { border: 1px solid var(--u2-card-border); padding: 20px; position: sticky; top: 90px; }
.u2-checkout__aside-title { font-family: var(--u2-font-heading); font-size: 16px; font-weight: 700; margin: 0 0 14px; }
.u2-checkout__aside-lines { margin: 0 0 14px; }
.u2-checkout__aside-lines > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 14px; color: var(--u2-muted); }
.u2-checkout__aside-lines > div dt { margin: 0; }
.u2-checkout__aside-lines > div dd { margin: 0; }
.u2-checkout__aside-lines > div.u2-checkout__aside-total { border-top: 1px solid var(--u2-card-border); margin-top: 6px; padding-top: 10px; font-size: 16px; color: var(--u2-fg); }
.u2-checkout__aside-note { font-size: 12px; color: var(--u2-muted); margin: 0 0 12px; line-height: 1.5; }
.u2-checkout__aside-kp { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--u2-accent); text-decoration: none; }
.u2-checkout__aside-kp:hover { text-decoration: underline; }

@media (max-width: 860px) {
	.u2-checkout__layout { grid-template-columns: 1fr; }
	.u2-checkout__row { grid-template-columns: 1fr; }
	.u2-checkout__aside-card { position: static; }
	.u2-checkout-step { flex: 1 1 calc(50% - 8px); }
}

/* ============================================================================
   USI-DONE-SKIN (2026-06-25): /catalog/cart/done/ «Заказ оформлен» — native skin.
   accent #CC5200, radius 0, 0 !important. ============================================================================ */
.u2-done__inner { max-width: 820px; }
.u2-done__head { margin-bottom: 22px; }
.u2-done__eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--u2-ok); margin-bottom: 12px; }
.u2-done__check { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border: 1px solid var(--u2-ok); border-radius: 50%; }
.u2-done__lead { font-size: 16px; line-height: 1.55; color: var(--u2-fg); margin: 0 0 10px; max-width: 62ch; }
.u2-done__num { font-family: var(--u2-font-mono); font-size: 14px; color: var(--u2-muted); margin: 0; }
.u2-done__num strong { color: var(--u2-fg); }
.u2-done__card { border: 1px solid var(--u2-card-border); padding: 4px 20px; margin-bottom: 22px; }
.u2-done-row { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--u2-card-border); }
.u2-done-row:last-child { border-bottom: 0; }
.u2-done-row__media { display: block; width: 64px; height: 64px; border: 1px solid var(--u2-card-border); overflow: hidden; flex: none; }
.u2-done-row__media img { width: 100%; height: 100%; object-fit: contain; }
.u2-done-row__media-ph { display: block; width: 100%; height: 100%; background: var(--u2-panel); }
.u2-done-row__name { display: block; color: var(--u2-fg); text-decoration: none; font-weight: 600; line-height: 1.35; }
.u2-done-row__name:hover { color: var(--u2-accent); }
.u2-done-row__meta { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-muted); margin-top: 4px; }
.u2-done-row__qty { font-size: 13px; color: var(--u2-muted); margin-top: 6px; }
.u2-done-row__qty strong { color: var(--u2-fg); }
.u2-done-row__sum { text-align: right; white-space: nowrap; font-size: 15px; color: var(--u2-fg); }
.u2-done__line { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--u2-card-border); font-size: 14px; color: var(--u2-muted); }
.u2-done__totals { margin: 0; border-top: 1px solid var(--u2-card-border); padding: 14px 0 6px; }
.u2-done__total-line { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 14px; color: var(--u2-muted); }
.u2-done__total-line dt, .u2-done__total-line dd { margin: 0; }
.u2-done__total-line--grand { font-size: 17px; color: var(--u2-fg); padding-top: 8px; }
.u2-done__total-vat { display: flex; justify-content: space-between; gap: 12px; font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-muted); padding-top: 4px; }
.u2-done__foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.u2-done__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 26px; border: 1px solid transparent; text-decoration: none; font-family: var(--u2-font-mono); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; transition: background .15s; }
.u2-done__btn--primary { background: var(--u2-accent); color: #fff; }
.u2-done__btn--primary:hover { background: var(--u2-accent-hover); }
.u2-done__contacts { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.u2-done__contacts-lbl { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u2-muted); }
.u2-done__phone { font-size: 16px; font-weight: 700; color: var(--u2-fg); text-decoration: none; }
.u2-done__phone:hover { color: var(--u2-accent); }
.u2-done__hours { font-size: 12px; color: var(--u2-muted); }
@media (max-width: 768px) {
	.u2-done__foot { flex-direction: column; align-items: stretch; }
	.u2-done__contacts { align-items: flex-start; text-align: left; }
	.u2-done__btn { justify-content: center; }
}
@media (max-width: 480px) {
	.u2-done-row { grid-template-columns: 48px 1fr; }
	.u2-done-row__sum { grid-column: 2; text-align: left; padding-top: 4px; }
	.u2-done-row__media { width: 48px; height: 48px; }
}
.u2-cart-kp__pdf { display: inline-block; margin-top: 12px; font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-accent); text-decoration: none; }
.u2-cart-kp__pdf:hover { text-decoration: underline; text-underline-offset: 3px; }
.u2-cart-kp__privacy { margin: 12px 0 0; font-family: var(--u2-font-body); font-size: 11px; line-height: 1.45; color: var(--u2-muted-2); }
.u2-cart-kp__privacy a { color: var(--u2-accent); }
.u2-cart-kp .errors.error { font-family: var(--u2-font-mono); font-size: 13px; color: #C0392B; margin-top: 8px; }

/* ---- empty ---- */
.u2-cart__empty { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 56px 32px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.u2-cart__empty-ico { color: var(--u2-muted-2); }
.u2-cart__empty-title { margin: 4px 0 0; font-family: var(--u2-font-heading); font-size: 22px; font-weight: 700; color: var(--u2-fg); }
.u2-cart__empty-text { margin: 0; max-width: 440px; font-family: var(--u2-font-body); font-size: 15px; line-height: 1.6; color: var(--u2-muted); }
.u2-cart__empty-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.u2-cart__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; cursor: pointer; border: 1px solid transparent; }
.u2-cart__btn--primary { background: var(--u2-accent); color: #fff; }
.u2-cart__btn--primary:hover { background: var(--u2-accent-hover); }
.u2-cart__btn--ghost { background: transparent; border-color: var(--u2-border-strong); color: var(--u2-fg); }
.u2-cart__btn--ghost:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

/* ========================================================================
   RESPONSIVE
   ======================================================================== */
@media (max-width: 1023px) {
	.u2-cart__layout { grid-template-columns: 1fr; gap: 22px; }
	.u2-cart__summary { position: static; top: auto; }
}

@media (max-width: 600px) {
	.u2-cart__inner { padding: 18px 0 48px; }
	/* stacked row: [media | name | remove] then [qty .... sum] */
	.u2-cart-row {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-areas:
			"media main   remove"
			"media qty    sum";
		align-items: start; gap: 10px 14px;
	}
	.u2-cart-row__media { grid-area: media; width: 64px; height: 64px; align-self: start; }
	.u2-cart-row__main { grid-area: main; }
	.u2-cart-row__remove { grid-area: remove; align-self: start; }
	.u2-cart-row__qty { grid-area: qty; justify-content: flex-start; align-self: center; margin-top: 4px; }
	.u2-cart-row__sum { grid-area: sum; align-self: center; margin-top: 4px; }
}


/* ===== COMPARE .u2-cmp (greenfield) ===== */
/* =========================================================================
   _u2_compare.part.css — COMPARE page (shop ?action=compare), greenfield.
   Loaded only when U2_COMPARE gate is active (head.php). Fresh `u2-cmp*`/`u2-compare*`
   namespace, token-driven, ZERO !important. Migrated R7 out of the inline <style> that
   lived in shop.view.compare.php (which used 2 !important to beat the legacy stack — no
   longer needed: under the gate only u2-system.css loads, so normal specificity wins).
   Diafan hooks (section-d_shop_compare, js_shop, js_shop_compare_delete, buy_form) are in
   the markup, untouched.
   ========================================================================= */

/* ---- page head: H1 + count + action buttons on ONE row (Figma) ---- */
.u2-compare__head { padding: 18px 0 6px; }
.u2-compare__head .breadcrumbs,
.u2-compare__head .breadcrumbs * { color: var(--u2-muted, #7A7E88); }
.u2-compare__head-row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 18px 14px; flex-wrap: wrap; margin-top: 8px;
}
.u2-compare__titlewrap { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; min-width: 0; }
.u2-compare__title {
	font-family: var(--u2-font-heading, "Space Grotesk", sans-serif);
	font-size: 30px; line-height: 1.1; font-weight: 700; color: var(--u2-dark, #0C0D10); margin: 0;
}
.u2-compare__count {
	font-family: var(--u2-font-mono, "Space Mono", monospace);
	font-size: 13px; color: var(--u2-muted, #7A7E88); letter-spacing: .02em;
}
.u2-compare__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---- empty state ---- */
.u2-compare-empty {
	background: var(--u2-card, #fff); border: 1px solid var(--u2-card-border, #E5E3DE);
	border-radius: 0; padding: 40px 28px; text-align: center; margin: 8px 0 28px;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.u2-compare-empty__icon { color: var(--u2-muted, #7A7E88); margin-bottom: 4px; }
.u2-compare-empty__title { font-family: var(--u2-font-heading, "Space Grotesk", sans-serif); font-size: 18px; color: var(--u2-dark, #0C0D10); margin: 0; }
.u2-compare-empty__text { font-family: var(--u2-font-body, Inter, sans-serif); font-size: 14px; color: var(--u2-muted, #7A7E88); max-width: 460px; margin: 0 0 8px; }
.u2-compare-empty__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* ---- scroll wrapper (mobile: the matrix scrolls INSIDE this, page never overflows) ---- */
.u2-cmp-wrap {
	overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 10px 0 4px;
	border: 1px solid var(--u2-card-border, #E5E3DE); border-radius: 0; background: var(--u2-card, #fff);
}

/* ---- product column heads (CSS grid, OUTSIDE the table — buy_form has a nested <table>) ---- */
.u2-cmp-heads { display: grid; background: var(--u2-card, #fff); border-bottom: 1px solid var(--u2-divider, #EDEBE6); }
.u2-cmp-heads__spacer { background: #FAFAF8; border-right: 1px solid var(--u2-divider, #EDEBE6); }
.u2-cmp-col-head { padding: 16px 14px; text-align: center; border-right: 1px solid var(--u2-divider, #EDEBE6); }
.u2-cmp-col-head:last-child { border-right: none; }
.u2-cmp__ch-media { position: relative; text-align: center; margin-bottom: 10px; min-height: 120px; }
.u2-cmp__ch-media img { max-height: 130px; max-width: 100%; object-fit: contain; }
.u2-cmp__ch-media ._dummyimage { display: block; height: 120px; background: var(--u2-img-bg, #F1F0EC); }
.u2-cmp__ch-del {
	position: absolute; top: 0; right: 0; width: 30px; height: 30px;
	border: 1px solid #D8D6D0; border-radius: 50%; background: var(--u2-card, #fff);
	cursor: pointer; color: var(--u2-dark, #0C0D10); display: flex; align-items: center; justify-content: center; padding: 0;
	transition: border-color .15s, color .15s;
}
.u2-cmp__ch-del:hover { border-color: var(--u2-accent, #CC5200); color: var(--u2-accent, #CC5200); }
.u2-cmp__ch-art { text-align: center; margin: 0 0 7px; }
.u2-art-badge {
	display: inline-block; font-family: var(--u2-font-mono, "Space Mono", monospace);
	font-size: 12px; letter-spacing: .02em; color: var(--u2-accent, #CC5200);
	background: #F6EEE6; border: 1px solid #ECD9C8; border-radius: 0; padding: 2px 9px; line-height: 1.4;
}
.u2-cmp__ch-title { display: block; font-family: var(--u2-font-body, Inter, sans-serif); font-weight: 600; color: var(--u2-dark, #0C0D10); text-decoration: none; margin: 0 0 9px; line-height: 1.3; }
.u2-cmp__ch-title:hover { color: var(--u2-accent, #CC5200); }
.u2-cmp__ch-tags { margin: 0 0 12px; }
.u2-cmp__tag { display: inline-block; font-family: var(--u2-font-body, Inter, sans-serif); font-size: 11px; padding: 3px 9px; border: 1px solid #D8D6D0; border-radius: 0; margin: 0 4px 5px; color: var(--u2-dark, #0C0D10); text-decoration: none; }
.u2-cmp__tag--brand { background: var(--u2-img-bg, #F1F0EC); }
.u2-cmp__tag--brand:hover { border-color: var(--u2-accent, #CC5200); color: var(--u2-accent, #CC5200); }
.u2-cmp__ch-buy { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
/* hide everything the embedded buy_form carries except «В корзину» (Figma) — no !important needed under the gate */
.u2-cmp__ch-buy .u2-buy__price,
.u2-cmp__ch-buy .pricelist-d,
.u2-cmp__ch-buy .u2-buy__price-rows,
.u2-cmp__ch-buy .count-d,
.u2-cmp__ch-buy .offer-d__count,
.u2-cmp__ch-buy .us-product-v6__buy-qty,
.u2-cmp__ch-buy .u2-buy__qty,
.u2-cmp__ch-buy .u2-buy__qty-label,
.u2-cmp__ch-buy .error,
.u2-cmp__ch-buy .us-product-v6__buy-price,
.u2-cmp__ch-buy .us-product-v6__buy-kp,
.u2-cmp__ch-buy .u2-buy__oneclick,
.u2-cmp__ch-buy .offer-d__oneclick { display: none; }
/* «В корзину» — dark, full width */
.u2-cmp__ch-buy .button-d[action="buy"],
.u2-cmp__ch-buy .offer-d__button_tocart,
.u2-cmp__ch-buy .u2-buy__btn {
	background: var(--u2-dark, #0C0D10); border: 1px solid var(--u2-dark, #0C0D10); color: #fff;
	width: 100%; justify-content: center; text-align: center; display: inline-flex; align-items: center;
	min-height: 42px; padding: 0 16px; font-family: var(--u2-font-mono, "Space Mono", monospace);
	font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .15s;
}
.u2-cmp__ch-buy .button-d[action="buy"]:hover,
.u2-cmp__ch-buy .offer-d__button_tocart:hover,
.u2-cmp__ch-buy .u2-buy__btn:hover { background: var(--u2-accent, #CC5200); border-color: var(--u2-accent, #CC5200); }
.u2-cmp__more { color: var(--u2-accent, #CC5200); font-family: var(--u2-font-body, Inter, sans-serif); font-weight: 600; text-decoration: none; font-size: 13px; text-align: center; display: block; margin-top: 4px; }
.u2-cmp__more:hover { text-decoration: underline; }

/* ---- matrix table (name | values), differing rows marked orange ---- */
.u2-cmp { width: 100%; table-layout: fixed; border-collapse: collapse; font-family: var(--u2-font-body, Inter, sans-serif); font-size: 14px; background: var(--u2-card, #fff); }
.u2-cmp__c-name { width: var(--u2-cmp-namew, 260px); }
.u2-cmp th, .u2-cmp td { border-bottom: 1px solid var(--u2-divider, #EDEBE6); padding: 12px 16px; vertical-align: middle; text-align: left; word-wrap: break-word; }
.u2-cmp__name { color: #444; font-weight: 500; background: #FAFAF8; border-right: 1px solid var(--u2-divider, #EDEBE6); }
.u2-cmp__val { color: var(--u2-dark, #0C0D10); border-right: 1px solid var(--u2-divider, #EDEBE6); }
.u2-cmp__val:last-child { border-right: none; }
.u2-cmp tbody tr:not(.u2-cmp__group):nth-of-type(odd) .u2-cmp__val { background: #FCFBF9; }
.u2-cmp__group td {
	background: var(--u2-dark, #0C0D10); color: var(--u2-on-dark, #EAE6DD);
	font-family: var(--u2-font-mono, "Space Mono", monospace); font-weight: 700; font-size: 11px;
	letter-spacing: .10em; text-transform: uppercase; border: none; padding: 10px 16px;
}
.u2-cmp tr._diff .u2-cmp__name { color: var(--u2-accent, #CC5200); font-weight: 600; }
.u2-cmp tr._diff .u2-cmp__name::before { content: "\25CF"; color: var(--u2-accent, #CC5200); margin-right: 8px; font-size: 9px; vertical-align: middle; }
.u2-cmp__toggle { margin: 14px 0; background: var(--u2-card, #fff); border: 1px solid #D8D6D0; border-radius: 0; padding: 9px 16px; cursor: pointer; font-family: var(--u2-font-body, Inter, sans-serif); font-size: 13px; color: var(--u2-dark, #0C0D10); transition: border-color .15s, color .15s; }
.u2-cmp__toggle:hover { border-color: var(--u2-accent, #CC5200); color: var(--u2-accent, #CC5200); }
.u2-cmp--diffonly tbody tr[data-param]:not([data-diff]) { display: none; }
.u2-cmp__note { font-family: var(--u2-font-body, Inter, sans-serif); font-size: 12px; color: var(--u2-muted, #7A7E88); margin: 8px 0 0; }
.u2-compare__clear { margin: 14px 0 28px; }

/* ===== R-T5 (2026-06-08): MOBILE compare = exact replica of Figma MobileCompare =====
   (Replaced the old ≤600 horizontal-scroll+sticky-column matrix — owner rejected it as
   cramped/cut-off.) Below 1024px the desktop matrix is hidden and a tab-strip → active
   product card → compact comparison table renders instead. 0 !important. */
.u2-cmp-scrollhint { display: none; } /* legacy scroll affordance retired */
.u2-cmpm { display: none; }

@media (max-width: 1023px) {
	.u2-cmp-wrap,
	.u2-cmp__note { display: none; }
	.u2-cmpm { display: block; }
}

/* tab strip (dark, mono, active = orange underline) */
.u2-cmpm__tabs { display: flex; overflow-x: auto; background: #0c0d10; border-bottom: 1px solid #e2e0da; -webkit-overflow-scrolling: touch; }
.u2-cmpm__tab { flex-shrink: 0; padding: 12px 16px; background: transparent; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; letter-spacing: 0.06em; white-space: nowrap; color: rgba(234, 230, 221, 0.4); transition: color .15s; }
.u2-cmpm__tab.is-active { color: #eae6dd; border-bottom-color: #cc5200; }

/* active-product card */
.u2-cmpm__card { display: none; background: #fff; border: 1px solid #e2e0da; margin-bottom: 1px; }
.u2-cmpm__card.is-active { display: block; }
.u2-cmpm__media { position: relative; background: var(--u2-img-bg, #f1f0ec); aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; } /* USI-IMGSLOT-1of1: square slot (was fixed 200px) */
.u2-cmpm__media a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.u2-cmpm__media img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 0; box-sizing: border-box; } /* USI-IMGSLOT-1of1: edge-to-edge tiles */
.u2-cmpm__media ._dummyimage { width: 100%; height: 100%; background: var(--u2-img-bg, #f1f0ec); }
.u2-cmpm__del { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.9); border: 1px solid #e2e0da; color: #a0a0a8; cursor: pointer; padding: 0; transition: color .15s, border-color .15s; }
.u2-cmpm__del:hover { color: #cc5200; border-color: #cc5200; }
.u2-cmpm__body { padding: 18px 20px; }
.u2-cmpm__art { font-family: var(--u2-font-mono); font-size: 13px; color: #cc5200; letter-spacing: 0.06em; margin-bottom: 4px; }
.u2-cmpm__name { display: block; font-family: var(--u2-font-heading); font-size: 22px; font-weight: 700; color: #0c0d10; letter-spacing: -0.025em; line-height: 1.2; margin-bottom: 12px; text-decoration: none; }
.u2-cmpm__name:hover { color: #cc5200; }
.u2-cmpm__tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.u2-cmpm__tag { font-family: var(--u2-font-mono); font-size: 12px; padding: 4px 10px; text-decoration: none; border: 1px solid #d8d6d0; background: #f4f3f0; color: #0c0d10; }
.u2-cmpm__tag--cat { background: rgba(204, 82, 0, 0.05); border-color: rgba(204, 82, 0, 0.2); color: #cc5200; }
.u2-cmpm__tag--brand:hover { border-color: #cc5200; color: #cc5200; }
.u2-cmpm__actions { display: flex; gap: 8px; }
.u2-cmpm__btn { display: inline-flex; align-items: center; justify-content: center; font-family: var(--u2-font-mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; border: 1px solid transparent; border-radius: 0; cursor: pointer; }
.u2-cmpm__btn--primary { flex: 1; padding: 12px; background: #cc5200; color: #fff; }
.u2-cmpm__btn--primary:hover { background: #a84200; }
.u2-cmpm__btn--ghost { padding: 12px 16px; background: transparent; color: #cc5200; border-color: rgba(204, 82, 0, 0.3); white-space: nowrap; }
.u2-cmpm__btn--ghost:hover { background: rgba(204, 82, 0, 0.05); }

/* comparison matrix */
.u2-cmpm__meta { padding: 10px 16px; background: #0c0d10; font-family: var(--u2-font-mono); font-size: 11px; color: #cc5200; letter-spacing: 0.12em; text-transform: uppercase; }
.u2-cmpm__tablewrap { background: #fff; border: 1px solid #e2e0da; border-top: none; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.u2-cmpm__table { width: 100%; border-collapse: collapse; }
.u2-cmpm__th-param { padding: 11px 14px; text-align: left; font-family: var(--u2-font-mono); font-size: 11px; color: #a0a0a8; letter-spacing: 0.08em; text-transform: uppercase; border-bottom: 1px solid #e2e0da; background: #f4f3f0; position: sticky; left: 0; z-index: 1; min-width: 128px; }
.u2-cmpm__th-col { padding: 11px 14px; text-align: center; font-family: var(--u2-font-mono); font-size: 12px; color: #6e6e78; letter-spacing: 0.06em; border-bottom: 1px solid #e2e0da; background: #f4f3f0; white-space: nowrap; min-width: 108px; }
.u2-cmpm__th-col.is-active { color: #cc5200; font-weight: 700; background: rgba(204, 82, 0, 0.04); }
.u2-cmpm__rowname { padding: 11px 14px; text-align: left; font-family: var(--u2-font-body); font-size: 14px; font-weight: 400; color: #6e6e78; border-bottom: 1px solid #f4f3f0; background: #fff; position: sticky; left: 0; z-index: 1; min-width: 128px; }
.u2-cmpm__table tbody tr:nth-child(even) .u2-cmpm__rowname,
.u2-cmpm__table tbody tr:nth-child(even) .u2-cmpm__cell { background: #fafaf9; }
.u2-cmpm__cell { padding: 11px 14px; text-align: center; font-family: var(--u2-font-mono); font-size: 14px; color: #3a3a42; border-bottom: 1px solid #f4f3f0; }
.u2-cmpm__cell.is-active { background: rgba(204, 82, 0, 0.03); }
.u2-cmpm__table tr._diff .u2-cmpm__rowname { color: #cc5200; background: rgba(204, 82, 0, 0.06); }
.u2-cmpm__table tr._diff .u2-cmpm__cell { font-weight: 700; color: #0c0d10; background: rgba(204, 82, 0, 0.03); }
.u2-cmpm__dot { width: 6px; height: 6px; border-radius: 50%; background: #cc5200; flex-shrink: 0; display: inline-block; margin-right: 6px; vertical-align: middle; }
.u2-cmpm__legend { padding: 10px 16px; background: #f8f7f3; border: 1px solid #e2e0da; border-top: none; display: flex; align-items: center; gap: 8px; font-family: var(--u2-font-mono); font-size: 12px; color: #6e6e78; }

/* ===== F5 (mpkm parity): category-scoping chip bar (compare within one category) ===== */
.u2-cmp-catbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 16px; }
.u2-cmp-catbar__label { font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; letter-spacing: 0.04em; color: var(--u2-muted, #7A7E88); text-transform: uppercase; margin-right: 2px; }
.u2-cmp-catchip { display: inline-flex; align-items: center; gap: 7px; font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 12px; letter-spacing: 0.03em; padding: 8px 14px; border: 1px solid var(--u2-card-border, #E5E3DE); background: var(--u2-card, #fff); color: var(--u2-dark, #0C0D10); text-decoration: none; border-radius: 0; transition: border-color .15s, color .15s, background .15s; }
.u2-cmp-catchip:hover { border-color: var(--u2-accent, #CC5200); color: var(--u2-accent, #CC5200); }
.u2-cmp-catchip.is-active { background: var(--u2-dark, #0C0D10); color: #fff; border-color: var(--u2-dark, #0C0D10); }
.u2-cmp-catchip__n { font-size: 11px; opacity: 0.7; }
.u2-cmp-catchip--all { border-style: dashed; }
.u2-cmp-catnote { width: 100%; font-family: var(--u2-font-body, Inter, sans-serif); font-size: 12px; color: var(--u2-muted, #7A7E88); margin: 2px 0 0; }


/* ===== BRANDS .u2-brands (greenfield) ===== */
/* =========================================================================
   _u2_brands.part.css — /brands/ index (site page on u2-system via U2_BRANDS gate).
   Grid of brand cards: logo plate (or neutral text tile) + name + product count → /shop/<slug>/.
   Token-driven, ZERO !important.
   ========================================================================= */
.u2-brands { padding-bottom: 36px; }
.u2-brands__head { padding: 22px 0 6px; }
.u2-brands__title {
	font-family: var(--u2-font-heading, "Space Grotesk", sans-serif);
	font-size: 30px; line-height: 1.1; font-weight: 700; color: var(--u2-dark, #0C0D10); margin: 8px 0 0;
}
.u2-brands__intro { font-family: var(--u2-font-body, Inter, sans-serif); font-size: 15px; line-height: 1.55; color: var(--u2-muted, #7A7E88); max-width: 720px; margin: 10px 0 0; }
.u2-brands__empty { font-family: var(--u2-font-body, Inter, sans-serif); color: var(--u2-muted, #7A7E88); padding: 24px 0; }

.u2-brands__grid {
	list-style: none; margin: 18px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px;
}
.u2-brands__cell { margin: 0; }
.u2-brands__card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px;
	height: 100%; padding: 22px 18px; background: var(--u2-card, #fff);
	border: 1px solid var(--u2-card-border, #E5E3DE); border-radius: 0; text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}
.u2-brands__card:hover { border-color: var(--u2-accent, #CC5200); }
/* logo plate — white, height-locked, logo fills (contain), no letterbox waste */
.u2-brands__logo {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 64px; background: #fff; overflow: hidden;
}
.u2-brands__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
/* no-logo fallback — neutral warm tile + dark initial, NOT a black square */
.u2-brands__initial {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; background: var(--u2-img-bg, #F1F0EC); color: var(--u2-dark, #0C0D10);
	border: 1px solid var(--u2-card-border, #E5E3DE);
	font-family: var(--u2-font-heading, "Space Grotesk", sans-serif); font-size: 26px; font-weight: 700;
}
.u2-brands__name { font-family: var(--u2-font-body, Inter, sans-serif); font-size: 15px; font-weight: 600; color: var(--u2-dark, #0C0D10); line-height: 1.3; }
.u2-brands__card:hover .u2-brands__name { color: var(--u2-accent, #CC5200); }
.u2-brands__count { font-family: var(--u2-font-mono, "Space Mono", monospace); font-size: 11px; letter-spacing: .02em; color: var(--u2-muted, #7A7E88); margin-top: -4px; }

@media (max-width: 600px) {
	.u2-brands__grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
	.u2-brands__title { font-size: 24px; }
}


/* ===== CONTENT PAGES + LANDINGS .u2-cnt/.u2-lp (greenfield) ===== */
/* =========================================================================
   _u2_content.part.css — net-new content pages on u2-system via the
   U2_NEWPAGE gate: SEO application landings (/primenenie/*), About (/about/),
   and the new service pages (/services/obsledovanie/, /services/vypolnenie-rabot/).
   Greenfield, token-driven, ZERO !important. Namespaces: .u2-cnt-* (shared
   content/text page primitives) + .u2-lp-* (landing-specific extras).
   ========================================================================= */

/* ---- page shell ---- */
.u2-cnt { padding-bottom: 56px; color: var(--u2-fg); }
/* USI-TPLCFG-CTA (2026-06-07): drop the 56px wrapper bottom-padding when the closing «рассчитаем под
   ваш объект» CTA card is the last block → the dark CTA sits flush with the (dark) footer instead of
   a light dead band between two dark sections. Scoped via :has() so other .u2-cnt pages keep padding. */
.u2-cnt:has(> .u2-cnt-cta:last-child) { padding-bottom: 0; }

/* ---- dark hero band (mirrors the site's other page heroes) ---- */
.u2-cnt-hero { position: relative; background: var(--u2-dark); color: var(--u2-on-dark); overflow: hidden; }
.u2-cnt-hero::before {
	content: ""; position: absolute; inset: 0;
	background:
		radial-gradient(120% 120% at 88% -10%, var(--u2-accent-12), transparent 60%);
	pointer-events: none;
}
.u2-cnt-hero__inner { position: relative; padding: 26px 0 34px; }
.u2-cnt-hero__bc { margin-bottom: 18px; }
.u2-cnt-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--u2-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em;
	text-transform: uppercase; color: var(--u2-accent); margin-bottom: 14px;
}
.u2-cnt-hero__eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--u2-accent); }
.u2-cnt-hero__h1 {
	font-family: var(--u2-font-heading); font-weight: 700; line-height: 1.06;
	font-size: clamp(28px, 4vw, 46px); color: #eae6dd; margin: 0; max-width: 18ch; /* N2: creamy heading on dark (was #fff) */
}
.u2-cnt-hero__lead {
	font-family: var(--u2-font-body); font-size: 16px; line-height: 1.6;
	color: var(--u2-on-dark-75); max-width: 64ch; margin: 16px 0 0;
}
.u2-cnt-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.u2-cnt-hero__metrics { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 28px; }
.u2-cnt-hero__metric { display: flex; flex-direction: column; gap: 4px; }
.u2-cnt-hero__metric-v { font-family: var(--u2-font-heading); font-size: 28px; font-weight: 700; color: #eae6dd; line-height: 1; } /* N2 */
.u2-cnt-hero__metric-k { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--u2-on-dark-45); }

/* buttons on dark hero (reuse global .u2-btn shapes, add a light-on-dark variant) */
.u2-cnt-btn {
	display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px;
	font-family: var(--u2-font-body); font-size: 14px; font-weight: 600; line-height: 1;
	border-radius: 0; border: 1px solid transparent; text-decoration: none; cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.u2-cnt-btn--primary { background: var(--u2-accent); color: #fff; }
.u2-cnt-btn--primary:hover { background: var(--u2-accent-hover); }
.u2-cnt-btn--ghost-d { background: transparent; color: var(--u2-on-dark); border-color: var(--u2-on-dark-35); }
.u2-cnt-btn--ghost-d:hover { border-color: #fff; color: #fff; }
.u2-cnt-btn--ghost { background: transparent; color: var(--u2-fg); border-color: var(--u2-border); }
.u2-cnt-btn--ghost:hover { border-color: var(--u2-fg); }

/* ---- sections / rhythm ---- */
.u2-cnt-section { padding: 40px 0 4px; }
.u2-cnt-section--tight { padding-top: 28px; }
.u2-cnt-kicker { font-family: var(--u2-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--u2-accent); margin: 0 0 10px; }
.u2-cnt-h2 { font-family: var(--u2-font-heading); font-weight: 700; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.15; color: var(--u2-dark); margin: 0 0 6px; }
.u2-cnt-h3 { font-family: var(--u2-font-heading); font-weight: 600; font-size: 18px; line-height: 1.25; color: var(--u2-dark); margin: 0 0 8px; }
.u2-cnt-prose { font-family: var(--u2-font-body); font-size: 16px; line-height: 1.7; color: var(--u2-ink-2); max-width: 72ch; }
.u2-cnt-prose p { margin: 0 0 14px; }
.u2-cnt-prose p:last-child { margin-bottom: 0; }
.u2-cnt-prose a { color: var(--u2-accent); text-decoration: none; border-bottom: 1px solid var(--u2-accent-22); }
.u2-cnt-prose a:hover { border-bottom-color: var(--u2-accent); }
.u2-cnt-prose strong { color: var(--u2-dark); font-weight: 600; }

/* ---- bullet list with accent check ---- */
.u2-cnt-list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.u2-cnt-list li { position: relative; padding-left: 28px; font-family: var(--u2-font-body); font-size: 15px; line-height: 1.55; color: var(--u2-ink-2); }
.u2-cnt-list li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px;
	background: var(--u2-accent-06); border: 1px solid var(--u2-accent-22);
}
.u2-cnt-list li::after { content: ""; position: absolute; left: 5px; top: 7px; width: 5px; height: 8px; border: solid var(--u2-accent); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* ---- numbered process steps ---- */
.u2-cnt-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 18px; }
.u2-cnt-step { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 22px 20px; position: relative; }
.u2-cnt-step::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 2px; background: var(--u2-accent); transform: scaleX(0); transform-origin: left; transition: transform .22s; }
.u2-cnt-step:hover::before { transform: scaleX(1); }
.u2-cnt-step__n { font-family: var(--u2-font-mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; color: var(--u2-accent); }
.u2-cnt-step__t { font-family: var(--u2-font-heading); font-size: 17px; font-weight: 600; color: var(--u2-dark); margin: 8px 0 6px; }
.u2-cnt-step__d { font-family: var(--u2-font-body); font-size: 14px; line-height: 1.55; color: var(--u2-muted); }

/* ---- feature / advantage cards ---- */
.u2-cnt-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin-top: 18px; }
.u2-cnt-feature { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 22px 20px; }
.u2-cnt-feature__t { font-family: var(--u2-font-heading); font-size: 16px; font-weight: 600; color: var(--u2-dark); margin: 0 0 6px; }
.u2-cnt-feature__d { font-family: var(--u2-font-body); font-size: 14px; line-height: 1.55; color: var(--u2-muted); margin: 0; }

/* ---- compact product cards (links to PDP) ---- */
.u2-cnt-prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin-top: 18px; }
.u2-cnt-prod { display: flex; flex-direction: column; gap: 8px; background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 16px 16px 18px; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.u2-cnt-prod:hover { border-color: var(--u2-border-strong); box-shadow: 0 2px 14px rgba(0,0,0,.07); }
.u2-cnt-prod__brand { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: .05em; color: var(--u2-muted-2); text-transform: uppercase; }
.u2-cnt-prod__name { font-family: var(--u2-font-body); font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--u2-dark); }
.u2-cnt-prod:hover .u2-cnt-prod__name { color: var(--u2-accent); }
.u2-cnt-prod__foot { margin-top: auto; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 8px; }
.u2-cnt-prod__art { font-family: var(--u2-font-mono); font-size: 11px; color: var(--u2-subtle); }
.u2-cnt-prod__go { font-family: var(--u2-font-mono); font-size: 12px; color: var(--u2-accent); }
.u2-cnt-moreline { margin-top: 16px; }

/* ---- related objects mini cards ---- */
.u2-cnt-objs { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 18px; }
.u2-cnt-obj { display: flex; flex-direction: column; gap: 6px; background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 16px 18px; text-decoration: none; transition: border-color .15s; }
.u2-cnt-obj:hover { border-color: var(--u2-accent); }
.u2-cnt-obj__type { font-family: var(--u2-font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--u2-accent); }
.u2-cnt-obj__name { font-family: var(--u2-font-heading); font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--u2-dark); }
.u2-cnt-obj__loc { font-family: var(--u2-font-body); font-size: 13px; color: var(--u2-muted); }

/* ---- FAQ accordion (CSS-only via <details>) ---- */
.u2-cnt-faq { margin-top: 18px; max-width: 80ch; border-top: 1px solid var(--u2-divider); }
.u2-cnt-faq__item { border-bottom: 1px solid var(--u2-divider); }
.u2-cnt-faq__item > summary {
	list-style: none; cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
	padding: 18px 2px; font-family: var(--u2-font-heading); font-size: 16px; font-weight: 600; color: var(--u2-dark);
}
.u2-cnt-faq__item > summary::-webkit-details-marker { display: none; }
.u2-cnt-faq__item > summary::after { content: "+"; font-family: var(--u2-font-mono); font-size: 20px; color: var(--u2-accent); line-height: 1; flex-shrink: 0; }
.u2-cnt-faq__item[open] > summary::after { content: "\2212"; }
.u2-cnt-faq__a { padding: 0 2px 20px; font-family: var(--u2-font-body); font-size: 15px; line-height: 1.65; color: var(--u2-ink-2); max-width: 72ch; }

/* ---- CTA band ---- */
.u2-cnt-cta { margin-top: 44px; background: var(--u2-dark); color: var(--u2-on-dark); position: relative; overflow: hidden; }
.u2-cnt-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(100% 140% at 90% 0%, var(--u2-accent-12), transparent 55%); pointer-events: none; }
.u2-cnt-cta__inner { position: relative; padding-block: clamp(40px, 5vw, 64px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; } /* USI-CTA-UNIFY: padding-block канон; CTAWIDE (2026-07-17): БЕЗ обнуления padding-inline — боковой gutter отдаёт .u2-shop-wide (колонна = секциям страницы) */
.u2-cnt-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; } /* USI-CTA-UNIFY: eyebrow for canon parity */
.u2-cnt-cta__t { font-family: var(--u2-font-heading); font-size: clamp(20px, 2.4vw, 27px); font-weight: 700; color: #eae6dd; margin: 0 0 8px; } /* N2 */
.u2-cnt-cta__d { font-family: var(--u2-font-body); font-size: 15px; line-height: 1.6; color: var(--u2-on-dark-75); margin: 0; max-width: 58ch; }
.u2-cnt-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---- landing: spec/quick-facts strip ---- */
.u2-lp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0; margin-top: 22px; border: 1px solid var(--u2-card-border); background: var(--u2-card); }
.u2-lp-fact { padding: 18px 20px; border-right: 1px solid var(--u2-divider); }
.u2-lp-fact:last-child { border-right: none; }
.u2-lp-fact__k { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--u2-muted-2); }
.u2-lp-fact__v { font-family: var(--u2-font-heading); font-size: 17px; font-weight: 600; color: var(--u2-dark); margin-top: 6px; }

/* ---- landing: interlink chips (other solutions) ---- */
.u2-lp-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.u2-lp-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--u2-surface-warm); border: 1px solid var(--u2-border); font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: .03em; color: var(--u2-ink-2); text-decoration: none; transition: border-color .15s, color .15s; }
.u2-lp-link:hover { border-color: var(--u2-accent); color: var(--u2-accent); }

/* ---- About: value grid + timeline ---- */
.u2-cnt-split { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: start; margin-top: 20px; }
.u2-cnt-aside-card { background: var(--u2-card); border: 1px solid var(--u2-card-border); padding: 24px 22px; }
.u2-cnt-aside-card__t { font-family: var(--u2-font-heading); font-size: 17px; font-weight: 600; color: var(--u2-dark); margin: 0 0 12px; }
.u2-cnt-dl { display: grid; gap: 12px; }
.u2-cnt-dl__row { display: flex; flex-direction: column; gap: 2px; }
.u2-cnt-dl__k { font-family: var(--u2-font-mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--u2-muted-2); }
.u2-cnt-dl__v { font-family: var(--u2-font-body); font-size: 15px; color: var(--u2-dark); }
.u2-cnt-dl__v a { color: var(--u2-accent); text-decoration: none; }

/* ---- responsive ---- */
@media (max-width: 860px) {
	.u2-cnt-split { grid-template-columns: 1fr; gap: 22px; }
	.u2-lp-fact { border-right: none; border-bottom: 1px solid var(--u2-divider); }
	.u2-lp-fact:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
	.u2-cnt-hero__inner { padding: 20px 0 26px; }
	.u2-cnt-section { padding-top: 30px; }
	.u2-cnt-cta__inner { padding-block: 28px; }
}


/* ===== FIGMA-FIDELITY POLISH (last) ===== */
/* =========================================================================
   _u2_polish.part.css — Figma-fidelity corrections to ported-legacy rules.
   Appended LAST inside u2-system.css. This is final tuning of the single
   consolidated stylesheet to the Figma V2 target — NOT a new override layer
   on the legacy stack (the legacy stack is not loaded on migrated pages).
   ========================================================================= */

/* Hero/CTA eyebrow labels: ported legacy hardcoded `ui-monospace, monospace`;
   Figma V2 spec uses Space Mono (--us-font-mono). */
.u2-page-hero__eyebrow,
.u2-shop-hero__eyebrow,
.u2-shop-cta__eyebrow {
	font-family: var(--u2-font-mono);
}

/* USI-TPLCFG-MOBICONS (2026-06-07): show cart+compare icons in the mobile/tablet header (u2 stack). */
@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.
   Чекбоксы фильтра (.u2-filter__checkbox) и галерея (.gall-d__button) — НЕ 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;
}

/* USI-RUN4 (2026-06-09): hide the residual Diafan «Тестовый период закончился» (.diafan_reminder)
   nag on u2-system (gated) pages. Owner confirms the Diafan license is ACTIVE → this is a stale
   core-injected reminder, not a legitimate trial warning. Legacy pages already hide it via
   usilenie-v2-clean.css (body.u2-shell .diafan_reminder{display:none}); this extends the same to
   gated pages for consistency. No competing rule in u2-system → 0 !important. ROOT-CAUSE for owner:
   click «Я купил лицензию» in the Diafan admin to register the license with diafan.ru so the div
   stops being emitted at source. */
body.u2-shell .diafan_reminder { display: none; }

/* USI-TAP-TARGETS (2026-06-12, BIGDAY2 3.3): mobile ≥44px tap targets. Filter checkbox rows
   were ~20px tall (hard to tap); the «Фильтры» toggle ~39px; chip-remove ~31px. Enlarge the
   touch area on small screens only (desktop layout unchanged). 0 !important. */
@media (max-width: 560px) {
	.u2fs__row { min-height: 44px; }
	.u2-tbar__filter { min-height: 44px; }
	.u2-filter-chip { min-height: 40px; }
	.u2-filter-chip__remove { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
	.u2fs__mobile-show { min-height: 48px; }
}

/* ====================================================================
   USI-AVAIL-A4 (2026-06-14): out-of-stock notice + «сообщить на e-mail»
   subscribe form — canon square/token styling on the U2 PDP buy column.
   Style-only: Diafan hooks (.js_shop_waitlist, input[name=mail],
   button[action="wait"]) are preserved verbatim by the buy-form view.
   ==================================================================== */
.u2-buy ._unavailable.js_shop_no_buy_good {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--u2-font-mono); font-size: 12px; letter-spacing: 0.04em;
	color: var(--u2-muted, #6E6E78); margin: 0 0 2px;
}
.u2-buy__waitlist {
	display: flex; flex-direction: column; gap: 8px;
	margin: 12px 0 4px; padding-top: 14px;
	border-top: 1px solid var(--u2-card-border, #E2E0DA);
}
.u2-buy__wait-title {
	font-family: var(--u2-font-mono); font-size: 11px; line-height: 1.45;
	letter-spacing: 0.08em; text-transform: uppercase; color: var(--u2-muted, #6E6E78);
}
.u2-buy__wait-fields { margin: 0; padding: 0; }
.u2-buy__wait-input {
	width: 100%; min-height: 46px; padding: 0 14px; box-sizing: border-box;
	background: #fff; border: 1px solid var(--u2-border-strong, #C0BEB8); border-radius: 0;
	font-family: inherit; font-size: 14px; color: var(--u2-fg, #0C0D10);
}
.u2-buy__wait-input::placeholder { color: var(--u2-muted-2, #9A9AA2); }
.u2-buy__wait-input:focus { outline: none; border-color: var(--u2-accent, #CC5200); }
.u2-buy__secondary-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	width: 100%; min-height: 46px; padding: 0 16px; cursor: pointer;
	background: transparent; border: 1px solid var(--u2-border-strong, #C0BEB8); border-radius: 0;
	color: var(--u2-fg, #0C0D10); font-family: var(--u2-font-mono); font-size: 12px;
	letter-spacing: 0.04em; text-transform: uppercase; transition: border-color .15s, color .15s;
}
.u2-buy__secondary-btn:hover { border-color: var(--u2-accent, #CC5200); color: var(--u2-accent, #CC5200); }
.u2-buy__secondary-btn .button-d__name { color: inherit; }
.u2-buy__waitlist .errors,
.u2-buy__waitlist .error_waitlist { font-size: 12px; color: var(--u2-danger, #C0392B); }
/* catalog card availability indicator (right side of the brand·article eyebrow) */
.u2-pcard__eyebrow { flex-wrap: wrap; }
.u2-pcard__status {
	margin-left: auto; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
	font-family: var(--u2-font-mono); font-size: 10px; letter-spacing: 0.04em; text-transform: uppercase;
}
.u2-pcard__status-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.u2-pcard__status--in { color: var(--u2-ok, #2E7D5E); }
.u2-pcard__status--in .u2-pcard__status-dot { background: var(--u2-ok, #2E7D5E); }
.u2-pcard__status--out { color: var(--u2-muted, #6E6E78); }
.u2-pcard__status--out .u2-pcard__status-dot { background: var(--u2-muted-2, #9A9AA2); }

/* DIAFAN: FAQ category, V2 canon — direct patch (u2-system.css is hand-maintained; do NOT _u2_build.sh without porting BIGDAY2 patches first). Source mirror in _u2_catalog_port.part.css. */
.u2-faq{margin:2.5rem 0 0}
.u2-faq__title{font-family:"Space Grotesk",Inter,sans-serif;font-size:1.5rem;line-height:1.2;margin:0 0 1rem;color:#0C0D10}
.u2-faq__list{border-top:1px solid #E3E0D8}
.u2-faq__item{border-bottom:1px solid #E3E0D8}
.u2-faq__q{font-family:Inter,sans-serif;font-weight:600;font-size:1.0625rem;line-height:1.4;color:#0C0D10;padding:1rem 2.25rem 1rem 0;cursor:pointer;list-style:none;position:relative;transition:color .15s}
.u2-faq__q::-webkit-details-marker{display:none}
.u2-faq__q::marker{content:""}
.u2-faq__q:hover{color:#CC5200}
.u2-faq__q::after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.4rem;line-height:1;font-weight:400;color:#CC5200}
.u2-faq__item[open] .u2-faq__q::after{content:"−"}
.u2-faq__a{padding:0 2.25rem 1.1rem 0}
.u2-faq__a p{font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;color:#3A3A3A;margin:0}
@media (prefers-reduced-motion:reduce){.u2-faq__q{transition:none}}

/* DIAFAN: brand logo — обтекание текстом */
.u2-brand-logo{float:right;width:150px;height:auto;margin:0 0 1rem 1.5rem}
@media (max-width:480px){.u2-brand-logo{float:none;margin:0 0 1rem}}

/* 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; }

/* LEGALUI задача 1 (2026-07-17): стили .u2-pdp__legal сняты — правовой блок PDP живёт внутри
   .u2-pdp__rich и наследует типографику описания (собственных стилей не имеет). */

/* == LEGALUI задача 3 (2026-07-17): оговорка об оферте — отдельная полоса футера над
   bottom-bar; дивайдер и шаги паддингов = канон остальных полос (__main/__bottom);
   контентная колонка 1152px; Inter 12–13px muted; 4 брейкпоинта (base/640/1024/1280). == */
.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; }
