:root {
  --v2-canvas: #f4f7fa;
  --v2-surface: #fff;
  --v2-ink: #102131;
  --v2-muted: #61788f;
  --v2-line: #d7e3ef;
  --v2-line-strong: #b8c9db;
  --v2-blue: #0d4f93;
  --v2-blue-active: #0f70c9;
  --v2-blue-soft: #eef6ff;
  --v2-navy: #173a59;
  --v2-green: #067647;
  --v2-green-soft: #eaf5ef;
  --v2-amber: #a65c00;
  --v2-shadow: 0 12px 30px rgba(12, 35, 61, 0.08);
}

body {
  min-width: 320px;
  background: var(--v2-canvas);
  color: var(--v2-ink);
  font-size: 14px;
}

.container {
  width: min(calc(100% - 32px), 1480px);
}

.section {
  padding-top: 22px;
  padding-bottom: 22px;
}

.site-header.selected-header {
  position: sticky;
  z-index: 70;
  top: 0;
  border-bottom: 1px solid var(--v2-line);
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 4px 16px rgba(12, 35, 61, 0.06);
}

.selected-header-row {
  display: grid;
  grid-template-columns: 164px auto minmax(300px, 1fr) auto auto;
  align-items: center;
  min-height: 68px;
  gap: 14px;
}

.selected-header .logo-primary {
  color: var(--v2-ink);
  font-size: 23px;
  line-height: 1;
}

.selected-header .logo-primary::after {
  background: var(--v2-blue);
}

.selected-header .logo-sub {
  margin-top: 5px;
  color: var(--v2-muted);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.selected-catalog-control {
  display: inline-flex;
  min-height: 40px;
  overflow: hidden;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  background: #fff;
}

.selected-catalog-control .catalog-link,
.selected-catalog-control .catalog-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  color: var(--v2-navy);
  background: #fff;
  font-weight: 600;
}

.selected-catalog-control .catalog-trigger {
  width: 34px;
  border: 0;
  border-left: 1px solid var(--v2-line);
}

.selected-header .header-search {
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  border-radius: 4px;
}

.selected-header .header-search input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  font-size: 13px;
}

.selected-header .header-search button {
  min-width: 74px;
  border-radius: 0 3px 3px 0;
}

.selected-header-links,
.selected-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
}

.selected-header-links a,
.selected-header-actions a {
  color: var(--v2-navy);
  font-size: 12px;
  font-weight: 600;
}

.selected-phone {
  display: none;
}

.selected-header .cart-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  background: #fff;
}

.selected-header .cart-link span {
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--v2-blue);
  color: #fff;
  font-size: 11px;
}

.selected-header .catalog-mega {
  top: 68px;
}

.breadcrumbs {
  margin: 4px 0 14px;
  font-size: 12px;
}

.v2-eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--v2-blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-home {
  padding-bottom: 28px;
}

.v2-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  min-height: 440px;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--v2-line);
  border-radius: 7px;
  background: #fff;
  box-shadow: var(--v2-shadow);
}

.v2-home-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 46px 48px;
}

.v2-home-copy h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.v2-home-copy > p {
  max-width: 700px;
  margin: 18px 0 0;
  color: var(--v2-muted);
  font-size: 17px;
}

.v2-search-panel {
  width: 100%;
  max-width: 700px;
  min-width: 0;
  margin-top: 28px;
  padding: 6px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: var(--v2-canvas);
}

.v2-search-modes {
  max-width: 100%;
  display: flex;
  gap: 4px;
  padding: 2px 2px 7px;
}

.v2-search-modes span {
  padding: 7px 10px;
  border-radius: 4px;
  color: var(--v2-muted);
  font-size: 11px;
  font-weight: 600;
}

.v2-search-modes .active {
  background: #fff;
  color: var(--v2-blue);
  box-shadow: 0 1px 4px rgba(12, 35, 61, 0.08);
}

.v2-hero-search,
.v2-search-again {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.v2-hero-search input,
.v2-search-again input {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  background: #fff;
}

.v2-hero-search button,
.v2-search-again button {
  min-width: 88px;
  border: 0;
  border-radius: 4px;
  background: var(--v2-blue);
  color: #fff;
  font-weight: 700;
}

.v2-upload-link {
  display: inline-flex;
  margin: 9px 6px 2px;
  color: var(--v2-blue);
  font-size: 12px;
  font-weight: 600;
}

.v2-hero-visual {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border-left: 1px solid var(--v2-line);
  background:
    linear-gradient(rgba(13, 79, 147, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 79, 147, 0.055) 1px, transparent 1px),
    #edf4fa;
  background-size: 28px 28px;
}

.v2-hero-gridlines {
  position: absolute;
  inset: 12% 10%;
  border: 1px solid rgba(13, 79, 147, 0.14);
  border-radius: 50%;
}

.v2-hero-product {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(184, 201, 219, 0.9);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 40px rgba(12, 35, 61, 0.15);
}

.v2-hero-product img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.v2-hero-product strong {
  position: absolute;
  right: 8px;
  bottom: 7px;
  left: 8px;
  overflow: hidden;
  color: var(--v2-navy);
  font-size: 10px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-hero-product--1 {
  top: 12%;
  left: 11%;
  width: 44%;
  height: 46%;
}

.v2-hero-product--2 {
  right: 8%;
  bottom: 12%;
  width: 44%;
  height: 50%;
}

.v2-hero-product--3 {
  bottom: 7%;
  left: 4%;
  width: 28%;
  height: 30%;
}

.v2-hero-placeholder {
  padding: 20px;
  color: var(--v2-blue);
  font-weight: 700;
  text-align: center;
}

.v2-category-entrances {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-category-entrance {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  min-height: 84px;
  padding: 14px;
  border-right: 1px solid var(--v2-line);
  color: var(--v2-ink);
}

.v2-category-entrance:last-child {
  border-right: 0;
}

.v2-category-entrance:hover {
  background: var(--v2-blue-soft);
}

.v2-category-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  color: var(--v2-blue);
  font-size: 11px;
  font-weight: 700;
}

.v2-category-entrance strong,
.v2-category-entrance small {
  display: block;
}

.v2-category-entrance strong {
  font-size: 12px;
  line-height: 1.25;
}

.v2-category-entrance small {
  margin-top: 4px;
  color: var(--v2-muted);
  font-size: 10px;
}

.v2-home-section,
.v2-brand-strip,
.v2-home-columns,
.v2-home-seo {
  margin-top: 26px;
}

.v2-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}

.v2-section-heading h2 {
  margin: 0;
  font-size: 23px;
}

.v2-section-heading > a {
  color: var(--v2-blue);
  font-size: 12px;
  font-weight: 700;
}

.v2-product-table-wrap {
  overflow: auto;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(12, 35, 61, 0.04);
}

.v2-product-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  font-size: 12px;
}

.v2-product-table th {
  padding: 10px 9px;
  border-bottom: 1px solid var(--v2-line-strong);
  background: #f7fafe;
  color: var(--v2-muted);
  font-size: 10px;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
}

.v2-product-table td {
  padding: 9px;
  border-bottom: 1px solid var(--v2-line);
  color: #36546f;
  vertical-align: middle;
}

.v2-product-table tbody tr:last-child td {
  border-bottom: 0;
}

.v2-product-table tbody tr:hover {
  background: #f8fbff;
}

.v2-product-select {
  width: 30px;
  text-align: center;
}

.v2-product-select input {
  width: 15px;
  height: 15px;
}

.v2-product-identity {
  display: grid;
  grid-template-columns: 42px minmax(110px, 1fr);
  min-width: 185px;
  align-items: center;
  gap: 9px;
}

.v2-row-image {
  display: grid;
  width: 42px;
  height: 42px;
  overflow: hidden;
  place-items: center;
  border: 1px solid var(--v2-line);
  border-radius: 4px;
  background: #f7fafe;
}

.v2-row-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.v2-row-placeholder {
  color: var(--v2-blue);
  font-size: 10px;
  font-weight: 800;
}

.v2-row-sku,
.v2-product-description > a {
  display: block;
  color: var(--v2-ink);
  font-weight: 700;
}

.v2-row-provenance,
.v2-product-description span,
.v2-product-stock span {
  display: block;
  margin-top: 3px;
  color: var(--v2-muted);
  font-size: 10px;
  line-height: 1.3;
}

.v2-product-description {
  min-width: 240px;
  max-width: 380px;
}

.v2-product-description > a {
  font-weight: 600;
}

.v2-row-brand {
  color: var(--v2-blue);
  font-weight: 600;
}

.v2-product-document a {
  display: inline-flex;
  padding: 4px 6px;
  border: 1px solid var(--v2-line);
  border-radius: 3px;
  color: var(--v2-blue);
  font-size: 10px;
  font-weight: 800;
}

.v2-product-stock strong {
  color: var(--v2-amber);
  font-size: 11px;
}

.v2-product-stock strong.in {
  color: var(--v2-green);
}

.v2-product-commercial {
  min-width: 112px;
}

.v2-product-commercial > strong {
  display: block;
  color: var(--v2-ink);
}

.v2-product-commercial form {
  margin-top: 5px;
}

.v2-product-commercial button,
.v2-filter-rail button {
  min-height: 28px;
  padding: 0 9px;
  border: 0;
  border-radius: 3px;
  background: var(--v2-blue);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}

.v2-brand-strip {
  padding: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-brand-list {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  overflow: hidden;
  border: 1px solid var(--v2-line);
  border-radius: 4px;
}

.v2-brand-list a {
  display: grid;
  min-height: 62px;
  place-items: center;
  padding: 10px;
  border-right: 1px solid var(--v2-line);
  color: var(--v2-navy);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.v2-brand-list a:last-child {
  border-right: 0;
}

.v2-trust-band {
  margin-top: 26px;
  background: var(--v2-navy);
  color: #fff;
}

.v2-trust-band .container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.v2-trust-band .container > div {
  min-height: 104px;
  padding: 25px;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.v2-trust-band .container > div:last-child {
  border-right: 0;
}

.v2-trust-band strong,
.v2-trust-band span {
  display: block;
}

.v2-trust-band strong {
  font-size: 14px;
}

.v2-trust-band span {
  margin-top: 6px;
  color: #c7d8e8;
  font-size: 11px;
}

.v2-home-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.v2-home-compact-list {
  padding: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-home-compact-list > a {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.6fr) auto;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--v2-line);
  color: var(--v2-ink);
}

.v2-home-compact-list > a span {
  overflow: hidden;
  color: var(--v2-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-home-compact-list > a b {
  color: var(--v2-green);
  font-size: 11px;
}

.v2-editorial-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.v2-editorial-grid article,
.v2-home-seo {
  padding: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-editorial-grid article > span {
  color: var(--v2-blue);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.v2-editorial-grid h3 {
  margin: 8px 0;
  font-size: 15px;
  line-height: 1.35;
}

.v2-editorial-grid p,
.v2-home-seo {
  color: var(--v2-muted);
  font-size: 12px;
}

.v2-listing-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--v2-line);
  background: transparent;
  box-shadow: none;
}

.v2-listing-head h1 {
  margin: 0;
  font-size: 28px;
}

.v2-listing-head h1 span {
  color: var(--v2-muted);
  font-weight: 500;
}

.v2-listing-head p {
  margin: 7px 0 0;
  color: var(--v2-muted);
}

.v2-listing-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.v2-tool-button,
.btn-primary {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  background: #fff;
  color: var(--v2-navy);
  font-size: 11px;
  font-weight: 700;
}

.btn-primary {
  border-color: var(--v2-blue);
  background: var(--v2-blue);
  color: #fff;
}

.v2-tool-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.category-page .cat-layout {
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
}

.category-page .results-area {
  min-width: 0;
  overflow: hidden;
}

.category-page .child-cards-block {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.category-page .cat-hero-links {
  margin-top: 10px;
}

.category-page .cat-hero-links a {
  padding: 5px 8px;
  border: 1px solid var(--v2-line);
  border-radius: 3px;
  background: #fff;
  font-size: 10px;
}

.category-page .filters,
.v2-filter-rail {
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}

.category-page .filters {
  top: 84px;
}

.category-page .filters-summary {
  padding: 14px;
  border-bottom: 1px solid var(--v2-line);
}

.category-page .filter-group {
  border-bottom-color: var(--v2-line);
}

.category-page .filter-group summary,
.category-page .facet-section-title {
  font-size: 11px;
}

.category-page .facet-option,
.category-page .branch-nav a {
  min-height: 30px;
  font-size: 11px;
}

.category-page .child-cards-grid {
  width: 100%;
  max-width: 100%;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 6px;
}

.category-page .child-card {
  flex: 0 0 auto;
  min-width: 150px;
  padding: 9px 11px;
  border-radius: 4px;
  font-size: 11px;
}

.category-page .toolbar,
.v2-search-results .toolbar {
  min-height: 48px;
  margin-bottom: 8px;
  padding: 7px 9px;
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
}

.v2-table-tools {
  display: flex;
  align-items: center;
  gap: 7px;
}

.v2-search-again {
  max-width: 800px;
  margin-bottom: 16px;
}

.v2-search-layout {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  gap: 14px;
}

.v2-filter-rail {
  align-self: start;
  padding: 14px;
}

.v2-filter-heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.v2-filter-heading a {
  color: var(--v2-blue);
  font-size: 10px;
}

.v2-filter-rail form {
  display: grid;
  gap: 12px;
}

.v2-filter-rail label {
  display: grid;
  gap: 5px;
  color: var(--v2-muted);
  font-size: 11px;
}

.v2-filter-note {
  margin-top: 15px;
  padding: 10px;
  background: var(--v2-blue-soft);
}

.v2-filter-note strong,
.v2-filter-note span {
  display: block;
}

.v2-filter-note span {
  margin-top: 4px;
  color: var(--v2-muted);
  font-size: 10px;
}

.v2-manufacturer-hero {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-manufacturer-logo {
  display: grid;
  min-height: 118px;
  place-items: center;
  border-right: 1px solid var(--v2-line);
}

.v2-manufacturer-logo img {
  width: 120px;
  max-height: 72px;
  object-fit: contain;
}

.v2-manufacturer-logo span {
  color: var(--v2-blue);
  font-size: 40px;
  font-weight: 800;
}

.v2-manufacturer-identity h1 {
  margin: 0;
  font-size: 34px;
}

.v2-manufacturer-stats {
  display: flex;
  gap: 28px;
  margin-top: 18px;
}

.v2-manufacturer-stats span,
.v2-manufacturer-stats strong {
  display: block;
}

.v2-manufacturer-stats span {
  color: var(--v2-muted);
  font-size: 10px;
}

.v2-manufacturer-stats strong {
  margin-top: 3px;
  color: var(--v2-ink);
  font-size: 14px;
}

.v2-manufacturer-actions {
  display: grid;
  gap: 8px;
}

.v2-page-tabs {
  display: flex;
  gap: 0;
  margin: 12px 0;
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
}

.v2-page-tabs a {
  padding: 11px 15px;
  border-right: 1px solid var(--v2-line);
  color: var(--v2-muted);
  font-size: 11px;
  font-weight: 700;
}

.v2-page-tabs a.active {
  color: var(--v2-blue);
  box-shadow: inset 0 -2px var(--v2-blue);
}

.v2-manufacturer-overview {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 14px;
}

.v2-manufacturer-overview > section {
  padding: 20px;
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
}

.v2-manufacturer-overview h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

.v2-manufacturer-category-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.v2-manufacturer-category-list a {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid var(--v2-line);
  color: var(--v2-navy);
  font-size: 11px;
}

.v2-manufacturer-category-list a:nth-child(odd) {
  margin-right: 18px;
}

.v2-manufacturer-category-list b {
  color: var(--v2-muted);
}

.v2-pdp-hero {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(390px, 1.35fr) minmax(260px, 0.65fr);
  gap: 14px;
  align-items: stretch;
}

.v2-pdp-gallery,
.v2-pdp-identity,
.v2-pdp-commercial .purchase-box {
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-pdp-gallery {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  min-height: 500px;
  padding: 12px;
}

.v2-pdp-thumbs {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding-right: 10px;
}

.v2-pdp-thumbs span,
.v2-pdp-thumbs a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--v2-line);
  border-radius: 4px;
  color: var(--v2-muted);
  font-size: 9px;
  font-weight: 700;
}

.v2-pdp-thumbs .active {
  border-color: var(--v2-blue);
  color: var(--v2-blue);
}

.v2-pdp-gallery .main-image {
  min-height: 470px;
  border: 0;
  background: #fff;
}

.v2-pdp-gallery .main-image > img {
  width: 100%;
  height: 100%;
  max-height: 470px;
  object-fit: contain;
}

.technical-visual {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  aspect-ratio: 760 / 520;
  overflow: hidden;
  place-items: center;
}

.technical-visual > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.technical-visual__marking {
  position: absolute;
  z-index: 2;
  top: 48%;
  left: 50%;
  display: -webkit-box;
  width: min(29%, 170px);
  overflow: hidden;
  color: #dbe5ec;
  font-family: "IBM Plex Mono", "PT Mono", monospace;
  font-size: clamp(7px, 1.45vw, 14px);
  font-weight: 600;
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-align: center;
  text-shadow: 0 1px 1px #02070b;
  transform: translate(-50%, -50%);
  pointer-events: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.technical-visual__template {
  position: absolute;
  right: 7%;
  bottom: 12%;
  max-width: 42%;
  overflow: hidden;
  color: #0d4f93;
  font-family: "IBM Plex Mono", "PT Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.technical-visual--industrial .technical-visual__marking {
  top: 51%;
  width: min(25%, 145px);
  padding: 0.28em 0.4em;
  border-radius: 0.25em;
  background: rgba(9, 20, 30, 0.82);
  color: #e5edf3;
  font-size: clamp(7px, 1.2vw, 12px);
}

.technical-visual--component-type .technical-visual__marking {
  top: 49%;
  width: min(42%, 255px);
  color: rgba(236, 239, 240, 0.94);
  font-size: clamp(10px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.025em;
  text-shadow: 0 1px 1px #000, 0 -1px 0 rgba(255, 255, 255, 0.12);
  transform: translate(-50%, -50%) rotate(7.4deg) skewX(-4deg);
}

.technical-visual--package .technical-visual__marking {
  top: 49%;
  width: min(42%, 255px);
  color: rgba(236, 239, 240, 0.94);
  font-size: clamp(10px, 1.8vw, 18px);
  font-weight: 500;
  letter-spacing: 0.025em;
  text-shadow: 0 1px 1px #000, 0 -1px 0 rgba(255, 255, 255, 0.12);
  transform: translate(-50%, -50%) rotate(7.4deg) skewX(-4deg);
}

.technical-visual__marking--long {
  width: min(46%, 280px) !important;
  font-size: clamp(8px, 1.35vw, 14px) !important;
  line-height: 1.08;
}

.technical-visual__marking--xlong {
  width: min(48%, 300px) !important;
  font-size: clamp(7px, 1.05vw, 11px) !important;
  line-height: 1.08;
}

.technical-visual--package .technical-visual__template,
.technical-visual--component-type .technical-visual__template {
  display: none;
}

.technical-visual--row .technical-visual__marking,
.technical-visual--row .technical-visual__template {
  display: none;
}

.technical-visual--home .technical-visual__marking {
  font-size: clamp(6px, 0.72vw, 9px);
}

.technical-visual--home .technical-visual__template {
  display: none;
}

.smart-placeholder .technical-visual--card {
  width: min(92%, 360px);
  height: auto;
}

.smart-placeholder .technical-visual--pdp {
  width: min(96%, 650px);
  height: auto;
}

.technical-visual--card .technical-visual__marking {
  font-size: clamp(7px, 0.9vw, 10px);
}

.v2-pdp-gallery .main-image .technical-visual > img {
  max-height: none;
  filter: drop-shadow(0 14px 20px rgba(12, 35, 61, 0.08));
}

.v2-pdp-identity {
  padding: 24px;
}

.v2-pdp-badges {
  display: flex;
  gap: 7px;
}

.v2-pdp-badges > span {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--v2-blue-soft);
  color: var(--v2-blue);
  font-size: 10px;
  font-weight: 700;
}

.v2-pdp-badges .in {
  background: var(--v2-green-soft);
  color: var(--v2-green);
}

.v2-pdp-identity h1 {
  margin: 16px 0 5px;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.04;
}

.v2-pdp-manufacturer {
  color: var(--v2-blue);
  font-weight: 700;
}

.v2-pdp-summary {
  margin: 20px 0;
  padding: 13px;
  border-left: 3px solid var(--v2-blue);
  background: #f8fbff;
  color: #36546f;
}

.v2-pdp-keyfacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  border-top: 1px solid var(--v2-line);
  border-left: 1px solid var(--v2-line);
}

.v2-pdp-keyfacts > div {
  min-width: 0;
  padding: 11px;
  border-right: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
}

.v2-pdp-keyfacts dt {
  color: var(--v2-muted);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.v2-pdp-keyfacts dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--v2-ink);
  font-size: 12px;
  font-weight: 600;
}

.v2-pdp-commercial .purchase-box {
  position: sticky;
  top: 84px;
  padding: 20px;
  border-top: 3px solid var(--v2-blue);
}

.v2-commercial-label {
  color: var(--v2-muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.v2-pdp-commercial .purchase-price {
  margin-top: 8px;
  font-size: 28px;
}

.v2-primary-rfq {
  width: 100%;
  margin: 16px 0 8px;
}

.v2-pdp-commercial .purchase-form {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 7px;
}

.v2-pdp-commercial .purchase-form input {
  min-width: 0;
}

.v2-pdp-commercial .purchase-form button {
  min-width: 0;
  padding: 0 8px;
}

.v2-pdp-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 12px 0;
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
}

.v2-pdp-trust > div {
  padding: 14px;
  border-right: 1px solid var(--v2-line);
}

.v2-pdp-trust > div:last-child {
  border-right: 0;
}

.v2-pdp-trust strong,
.v2-pdp-trust span {
  display: block;
}

.v2-pdp-trust strong {
  font-size: 11px;
}

.v2-pdp-trust span {
  margin-top: 4px;
  color: var(--v2-muted);
  font-size: 10px;
}

.v2-pdp .product-section,
.v2-pdp .rfq {
  margin-top: 12px;
  padding: 20px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-pdp .product-section h2,
.v2-pdp .rfq h2 {
  margin-top: 0;
  font-size: 21px;
}

.v2-rfq-stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 5px;
  background: #fff;
}

.v2-rfq-stepper span {
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 9px;
  padding: 12px;
  border-right: 1px solid var(--v2-line);
  color: var(--v2-muted);
  font-size: 11px;
  font-weight: 600;
}

.v2-rfq-stepper span:last-child {
  border-right: 0;
}

.v2-rfq-stepper b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid var(--v2-line-strong);
  border-radius: 50%;
}

.v2-rfq-stepper .active {
  color: var(--v2-blue);
}

.v2-rfq-stepper .active b {
  border-color: var(--v2-blue);
  background: var(--v2-blue);
  color: #fff;
}

.cart-page .section-head,
.v2-rfq-summary,
.v2-rfq-form {
  padding: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 6px;
  background: #fff;
}

.v2-rfq-table {
  border: 1px solid var(--v2-line);
  background: #fff;
}

.v2-rfq-form .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.v2-rfq-form textarea,
.v2-rfq-form .form-file-field,
.v2-rfq-form .consent-row,
.v2-rfq-form .form-row,
.v2-rfq-form button[type="submit"] {
  grid-column: 1 / -1;
}

@media (max-width: 1220px) {
  .selected-header-row {
    grid-template-columns: 150px auto minmax(260px, 1fr) auto;
  }

  .selected-header-links {
    display: none;
  }

  .v2-category-entrances {
    grid-template-columns: repeat(3, 1fr);
  }

  .v2-category-entrance:nth-child(3) {
    border-right: 0;
  }

  .v2-category-entrance:nth-child(-n + 3) {
    border-bottom: 1px solid var(--v2-line);
  }

  .v2-brand-list {
    grid-template-columns: repeat(4, 1fr);
  }

  .v2-brand-list a:nth-child(4n) {
    border-right: 0;
  }

  .v2-pdp-hero {
    grid-template-columns: minmax(300px, 0.9fr) minmax(360px, 1.2fr);
  }

  .v2-pdp-commercial {
    grid-column: 1 / -1;
  }

  .v2-pdp-commercial .purchase-box {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .selected-header-row {
    grid-template-columns: 135px 1fr auto;
    min-height: 62px;
  }

  .selected-catalog-control,
  .selected-header-actions .cart-link {
    display: none;
  }

  .selected-header .header-search {
    grid-column: 2;
  }

  .selected-header .mobile-menu-trigger {
    display: inline-flex;
  }

  .v2-home-hero {
    grid-template-columns: 1fr;
  }

  .v2-home-copy {
    padding: 34px;
  }

  .v2-hero-visual {
    min-height: 340px;
    border-top: 1px solid var(--v2-line);
    border-left: 0;
  }

  .v2-trust-band .container,
  .v2-pdp-trust {
    grid-template-columns: 1fr 1fr;
  }

  .v2-home-columns,
  .v2-manufacturer-overview,
  .v2-pdp-hero {
    grid-template-columns: 1fr;
  }

  .v2-editorial-grid {
    grid-template-columns: 1fr 1fr;
  }

  .category-page .cat-layout,
  .v2-search-layout {
    grid-template-columns: 1fr;
  }

  .category-page .filters,
  .v2-filter-rail {
    position: static;
  }

  .v2-manufacturer-hero {
    grid-template-columns: 120px 1fr;
  }

  .v2-manufacturer-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }

  .v2-pdp-gallery {
    min-height: 380px;
  }

  .v2-pdp-gallery .main-image {
    min-height: 350px;
  }

  .v2-pdp-commercial {
    grid-column: auto;
  }

  .v2-pdp-commercial .purchase-box {
    display: block;
  }
}

@media (max-width: 620px) {
  .container {
    width: min(calc(100% - 20px), 1480px);
  }

  .selected-header-row {
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 7px;
  }

  .selected-header .logo-primary {
    font-size: 18px;
  }

  .selected-header .logo-sub {
    display: none;
  }

  .selected-header .header-search button {
    min-width: 52px;
    padding: 0 7px;
    font-size: 10px;
  }

  .selected-header .header-search input {
    padding: 0 8px;
    font-size: 11px;
  }

  .selected-header-actions {
    gap: 0;
  }

  .selected-header .mobile-menu-trigger {
    width: 38px;
    min-width: 38px;
    padding: 0;
    font-size: 0;
  }

  .selected-header .mobile-menu-trigger::before {
    content: "☰";
    font-size: 18px;
    line-height: 1;
  }

  .v2-home-hero {
    margin-top: 10px;
  }

  .v2-home-copy {
    padding: 24px 18px;
  }

  .v2-home-copy h1 {
    font-size: 33px;
  }

  .v2-home-copy > p {
    font-size: 14px;
  }

  .v2-search-modes {
    overflow-x: auto;
  }

  .v2-search-modes span {
    white-space: nowrap;
  }

  .v2-hero-search,
  .v2-search-again {
    grid-template-columns: 1fr;
  }

  .v2-hero-visual {
    min-height: 270px;
  }

  .v2-category-entrances {
    grid-template-columns: 1fr 1fr;
  }

  .v2-category-entrance {
    border-bottom: 1px solid var(--v2-line);
  }

  .v2-category-entrance:nth-child(2n) {
    border-right: 0;
  }

  .v2-brand-list {
    grid-template-columns: 1fr 1fr;
  }

  .v2-brand-list a:nth-child(2n) {
    border-right: 0;
  }

  .v2-trust-band .container,
  .v2-home-columns,
  .v2-editorial-grid,
  .v2-pdp-trust,
  .v2-pdp-keyfacts,
  .v2-manufacturer-category-list,
  .v2-rfq-stepper {
    grid-template-columns: 1fr;
  }

  .v2-trust-band .container > div,
  .v2-pdp-trust > div,
  .v2-rfq-stepper span {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .v2-home-compact-list > a {
    grid-template-columns: 1fr auto;
  }

  .v2-home-compact-list > a span {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .v2-listing-head {
    display: block;
  }

  .v2-listing-actions {
    margin-top: 12px;
  }

  .v2-manufacturer-hero {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .v2-manufacturer-logo {
    min-height: 80px;
    border-right: 0;
    border-bottom: 1px solid var(--v2-line);
  }

  .v2-manufacturer-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .v2-page-tabs {
    overflow-x: auto;
  }

  .v2-page-tabs a {
    white-space: nowrap;
  }

  .v2-pdp-gallery {
    grid-template-columns: 1fr;
    min-height: 320px;
  }

  .v2-pdp-thumbs {
    flex-direction: row;
    padding: 0 0 8px;
  }

  .v2-pdp-gallery .main-image {
    min-height: 280px;
  }

  .v2-pdp-identity {
    padding: 18px;
  }

  .v2-pdp-identity h1 {
    font-size: 30px;
  }

  .v2-rfq-form .grid {
    grid-template-columns: 1fr;
  }

  .v2-product-table {
    min-width: 0;
  }

  .v2-product-table thead {
    display: none;
  }

  .v2-product-table,
  .v2-product-table tbody,
  .v2-product-table tr,
  .v2-product-table td {
    display: block;
    width: 100%;
  }

  .v2-product-table tr {
    padding: 12px;
    border-bottom: 1px solid var(--v2-line);
  }

  .v2-product-table td {
    padding: 5px 0;
    border: 0;
  }

  .v2-product-table td::before {
    display: block;
    margin-bottom: 2px;
    color: var(--v2-muted);
    content: attr(data-label);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
  }

  .v2-product-select {
    display: flex !important;
    align-items: center;
    gap: 8px;
  }

  .v2-product-select input {
    width: 20px;
    height: 20px;
  }

  .v2-product-identity {
    grid-template-columns: 54px 1fr;
  }

  .v2-product-description {
    min-width: 0;
    max-width: none;
  }
}

.product-compare-dialog {
  width: min(1120px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--v2-line-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--v2-ink);
  box-shadow: 0 22px 70px rgba(12, 35, 61, 0.24);
}

.product-compare-dialog::backdrop {
  background: rgba(10, 26, 42, 0.56);
}

.product-compare-dialog__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--v2-line);
}

.product-compare-dialog__head h2 {
  margin: 0;
  font-size: 22px;
}

.product-compare-dialog__close {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--v2-line-strong);
  border-radius: 4px;
  background: #fff;
  color: var(--v2-ink);
  font-size: 22px;
}

.product-compare-dialog__body {
  max-height: calc(100vh - 110px);
  padding: 20px;
  overflow: auto;
}

.product-compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.product-compare-table th,
.product-compare-table td {
  padding: 11px 12px;
  border: 1px solid var(--v2-line);
  text-align: left;
  vertical-align: top;
}

.product-compare-table th {
  background: #f4f8fc;
  color: var(--v2-muted);
  font-size: 11px;
  text-transform: uppercase;
}

.product-compare-table td:first-child {
  width: 150px;
  background: #f8fbfe;
  font-weight: 700;
}

.product-compare-note {
  margin: 14px 0 0;
  color: var(--v2-muted);
  font-size: 12px;
}

@media (max-width: 380px) {
  .v2-home-copy h1 {
    font-size: 29px;
  }

  .selected-header-row {
    grid-template-columns: 106px minmax(0, 1fr) auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
