:root {
  --rvs-red: #c4001d;
  --rvs-red-dark: #920016;
  --rvs-red-soft: #fff1f2;
  --rvs-ink: #171a21;
  --rvs-muted: #626975;
  --rvs-line: #e2e4e8;
  --rvs-surface: #f6f6f7;
  --rvs-white: #fff;
  --rvs-radius: 12px;
  --rvs-shadow: 0 12px 30px rgba(24, 28, 36, .12);
}

html { width: 100%; max-width: 100%; overflow-x: clip; }
body { width: 100%; max-width: 100%; overflow-x: hidden; color: var(--rvs-ink); background: var(--rvs-white); }
/* Геометрия lazy-секций зарезервирована явно. Автоматическая scroll anchoring
   при их DOM-подмене лишь дёргает viewport, поэтому в контенте витрины она не нужна. */
body.rvs-manufacturing-site .tygh-content,
body.rvs-manufacturing-site #tygh_footer { overflow-anchor: none; }
body .tygh-content > div,
body .tygh-content .container-fluid { max-width: 1420px; }
body a { text-underline-offset: 2px; }

body .top-grid {
  min-height: 27px;
  border-bottom: 1px solid var(--rvs-line);
  background: #fff;
}
body .top-grid .row-fluid { min-height: 27px; align-items: center; }
body .top-grid a,
body .top-grid span { color: #6f7580; font-size: 11px; }
body .top-grid a:hover { color: var(--rvs-red); }

.rvs-manufacturing-bar {
  position: relative;
  z-index: 70;
  border-bottom: 1px solid #920016;
  color: #fff;
  background: linear-gradient(105deg, #9d0018 0, var(--rvs-red) 52%, #a90019 100%);
  box-shadow: 0 5px 16px rgba(80, 0, 12, .20);
}
.rvs-manufacturing-bar__inner {
  display: grid;
  max-width: 1420px;
  min-height: 72px;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: 24px;
  align-items: center;
  margin: 0 auto;
  padding: 8px 22px;
  box-sizing: border-box;
}
.rvs-manufacturing-bar__identity {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: -.01em;
  color: #fff !important;
}
.rvs-manufacturing-bar__identity::before {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 50%;
  content: "РВД";
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
}
.rvs-manufacturing-bar__detail {
  overflow: hidden;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rvs-manufacturing-bar__action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 7px;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
  text-decoration: none !important;
}
.rvs-manufacturing-bar__action:hover { color: var(--rvs-red) !important; background: #fff; }

body .tygh-header {
  position: relative;
  z-index: 80;
  border-bottom: 1px solid #d8dadd;
  background: #fff;
  box-shadow: 0 3px 10px rgba(24, 28, 36, .08);
}
body .header-grid.light-header { background: #fff; }
body .header-grid > .container-fluid-row > .row-fluid {
  display: flex;
  min-height: 74px;
  align-items: center;
}
body .top-logo { display: flex; align-items: center; }
body .top-logo .ty-logo-container { width: 248px !important; max-width: 248px !important; }
body .ty-logo-container__image {
  display: block;
  width: 238px !important;
  max-width: 100%;
  height: auto !important;
  max-height: 52px;
  object-fit: contain;
  object-position: left center;
}
body .top-search { display: flex; align-items: center; gap: 10px; }
body .top-menu-grid-vetrtical { flex: 0 0 140px; margin: 0 !important; }
body .top-search .ty-search-block { min-width: 0; max-width: none; flex: 1 1 auto; }
body .ty-search-block__input {
  height: 46px !important;
  padding: 0 56px 0 17px !important;
  border: 1px solid #bfc3c9 !important;
  border-radius: 8px !important;
  color: var(--rvs-ink) !important;
  background: #fff !important;
  font-size: 14px;
}
body .ty-search-block__input:focus {
  border-color: var(--rvs-red) !important;
  box-shadow: 0 0 0 3px rgba(190, 3, 24, .12);
}
body .ty-search-magnifier { width: 48px; height: 46px; color: var(--rvs-ink); font-size: 23px; }
body .top-menu-grid-vetrtical .ty-dropdown-box__title {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #fff !important;
  background: var(--rvs-red) !important;
  font-weight: 850;
}
body .top-menu-grid-vetrtical .ty-dropdown-box__title:hover { background: var(--rvs-red-dark) !important; }
body .ut2-top-my-account,
body .ut2-top-cart-content,
body .top-buttons-grid { color: var(--rvs-ink); }
body .ut2-top-my-account a:hover,
body .ut2-top-cart-content a:hover,
body .top-buttons-grid a:hover { color: var(--rvs-red) !important; }

body .top-menu-grid-vetrtical .ty-dropdown-box__content {
  overflow: hidden;
  border: 1px solid #d4d7dc;
  border-top: 4px solid var(--rvs-red);
  border-radius: 0 0 10px 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(20, 22, 28, .18);
}
body .top-menu-grid-vetrtical .ut2-menu-vetrtical {
  min-height: 0 !important;
  height: auto !important;
  max-height: 420px !important;
  background: #fff;
}
body .top-menu-grid-vetrtical .ty-menu__item-link.a-first-lvl {
  min-height: 64px;
  color: var(--rvs-ink) !important;
  background: var(--rvs-surface);
}
body .top-menu-grid-vetrtical .ty-menu__item-link.a-first-lvl:hover { color: var(--rvs-red) !important; background: var(--rvs-red-soft); }
body .top-menu-grid-vetrtical .ty-menu__submenu { padding: 8px 12px 14px !important; }
body .top-menu-grid-vetrtical .ty-menu__submenu-items > div { display: flex; gap: 8px; }
body .top-menu-grid-vetrtical .ty-menu__submenu-col { padding: 0 !important; }
body .top-menu-grid-vetrtical .second-lvl { margin: 0 0 7px !important; }
body .top-menu-grid-vetrtical .ty-menu__submenu-link {
  display: flex !important;
  min-height: 42px;
  align-items: center;
  padding: 6px 12px !important;
  border: 1px solid var(--rvs-line);
  border-radius: 7px;
  color: var(--rvs-ink) !important;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
}
body .top-menu-grid-vetrtical .ty-menu__submenu-link:hover {
  border-color: var(--rvs-red);
  color: var(--rvs-red) !important;
  background: var(--rvs-red-soft);
}

body .ty-btn {
  min-height: 42px;
  padding-right: 19px;
  padding-left: 19px;
  border-radius: 8px;
  font-weight: 850;
  letter-spacing: -.01em;
}
body .ty-btn__primary,
body .ty-btn__add-to-cart {
  border-color: var(--rvs-red) !important;
  color: #fff !important;
  background: var(--rvs-red) !important;
}
body .ty-btn__primary:hover,
body .ty-btn__add-to-cart:hover {
  border-color: var(--rvs-red-dark) !important;
  background: var(--rvs-red-dark) !important;
}
body .ty-btn__secondary {
  border: 1px solid #aeb3bb !important;
  color: var(--rvs-ink) !important;
  background: #fff !important;
}
body .ty-btn__secondary:hover { border-color: var(--rvs-red) !important; color: var(--rvs-red) !important; }

.rvs-reference-home { margin: 10px auto 0; }
.rvs-hero {
  display: grid;
  min-height: 366px;
  grid-template-columns: minmax(500px, .9fr) minmax(520px, 1.1fr);
  overflow: hidden;
  border: 1px solid #dadde1;
  border-radius: 16px;
  background: #f7f3f2;
  box-shadow: 0 12px 34px rgba(28, 30, 36, .08);
}
.rvs-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 32px 32px 28px 42px;
  border-left: 8px solid var(--rvs-red);
}
.rvs-eyebrow {
  margin: 0 0 8px;
  color: var(--rvs-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.rvs-hero h1 {
  max-width: 650px;
  margin: 0;
  color: var(--rvs-ink) !important;
  font-size: clamp(36px, 3vw, 50px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em;
}
.rvs-hero__lead {
  max-width: 600px;
  margin: 14px 0 0;
  color: #515863;
  font-size: 15px;
  line-height: 1.45;
}
.rvs-hero__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.rvs-hero__actions .ty-btn { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; }
.rvs-hero__links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.rvs-hero__links a {
  display: inline-flex;
  min-width: 46px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid #c7cbd1;
  border-radius: 6px;
  color: var(--rvs-ink);
  background: rgba(255, 255, 255, .9);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.rvs-hero__links a:hover { border-color: var(--rvs-red); color: var(--rvs-red); background: #fff; }
.rvs-hero__note {
  max-width: 590px;
  margin: 13px 0 0;
  padding-top: 11px;
  border-top: 1px solid #dbd8d7;
  color: #626874;
  font-size: 11px;
  line-height: 1.35;
}
.rvs-hero__note strong { color: var(--rvs-ink); }
.rvs-hero__visual {
  position: relative;
  min-height: 366px;
  overflow: hidden;
  background: #f8f8f8 url('../media/images/addons/my_changes/rvd-commerce-v4/rvd-commerce-hero-v4.png') center right / cover no-repeat;
}
.rvs-hero__visual::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, #f6f3f1 0, rgba(246, 243, 241, .10) 28%, transparent 54%);
}
.rvs-hero__card {
  position: absolute;
  right: 20px;
  bottom: 19px;
  display: flex;
  width: 260px;
  flex-direction: column;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .94);
  border-left: 4px solid var(--rvs-red);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 9px 24px rgba(20, 22, 28, .16);
  backdrop-filter: blur(8px);
}
.rvs-hero__card span { color: var(--rvs-red); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rvs-hero__card strong { margin-top: 4px; color: var(--rvs-ink); font-size: 15px; }
.rvs-hero__card small { margin-top: 3px; color: var(--rvs-muted); font-size: 10px; }

.rvs-commerce-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 7px;
  overflow: hidden;
  border: 1px solid var(--rvs-line);
  border-radius: 9px;
  background: #fff;
}
.rvs-commerce-strip > div {
  display: flex;
  min-height: 64px;
  flex-direction: column;
  justify-content: center;
  padding: 9px 15px;
  border-right: 1px solid var(--rvs-line);
}
.rvs-commerce-strip > div:last-child { border-right: 0; }
.rvs-commerce-strip strong { color: var(--rvs-ink); font-size: 13px; }
.rvs-commerce-strip span { margin-top: 2px; color: var(--rvs-muted); font-size: 9px; line-height: 1.25; }

.rvs-order-panel {
  display: grid;
  grid-template-columns: minmax(230px, .9fr) minmax(560px, 2.25fr) max-content;
  gap: 22px;
  align-items: center;
  margin-top: 9px;
  padding: 17px 19px;
  border: 1px solid #dde0e4;
  border-radius: 12px;
  background: #f6f7f8;
}
.rvs-order-panel__intro > span {
  color: var(--rvs-red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rvs-order-panel__intro h2 {
  margin: 3px 0 2px !important;
  color: var(--rvs-ink) !important;
  font-size: 19px !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
}
.rvs-order-panel__intro p { margin: 0; color: var(--rvs-muted); font-size: 10px; line-height: 1.3; }
.rvs-order-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rvs-order-steps li {
  display: grid;
  min-width: 0;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 3px 12px;
  border-left: 1px solid #d9dce0;
}
.rvs-order-steps b { color: var(--rvs-red); font-size: 11px; }
.rvs-order-steps span { display: flex; min-width: 0; flex-direction: column; }
.rvs-order-steps strong { color: var(--rvs-ink); font-size: 11px; }
.rvs-order-steps small { margin-top: 2px; color: var(--rvs-muted); font-size: 8px; line-height: 1.2; }
.rvs-order-panel__action {
  display: inline-flex;
  min-height: 38px;
  gap: 10px;
  align-items: center;
  padding: 0 15px;
  border: 1px solid var(--rvs-red);
  border-radius: 8px;
  color: var(--rvs-red) !important;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none !important;
  white-space: nowrap;
}
.rvs-order-panel__action:hover { color: #fff !important; background: var(--rvs-red); }

body .ty-mainbox-container { margin-top: 19px; }
body .ty-mainbox-title,
body .ty-mainbox-title.ut2-center-title,
body .ty-mainbox-title__wrapper {
  margin-bottom: 10px;
  color: var(--rvs-ink);
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.13 !important;
  text-align: left !important;
  letter-spacing: -.035em;
}
body .ty-mainbox-title mark { color: var(--rvs-red); background: transparent; }
body .ut2-title-line-decoration::before,
body .ut2-title-line-decoration::after { display: none !important; }
body .rvs-best-products { scroll-margin-top: 90px; }
body .rvs-best-products .ty-mainbox-title { padding-left: 12px; border-left: 4px solid var(--rvs-red); }
body .rvs-product-shelf {
  margin-top: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left !important;
}
body .rvs-product-shelf .ty-mainbox-title,
body .rvs-product-shelf .ty-mainbox-title__wrapper {
  display: inline-flex !important;
  width: auto !important;
  justify-content: flex-start !important;
  margin: 0 0 11px !important;
  padding-left: 11px;
  border-left: 4px solid var(--rvs-red);
  font-size: 21px !important;
  text-align: left !important;
}
body .rvs-product-shelf-title { margin-top: 25px; }
body .rvs-product-shelf-body {
  padding: 12px 10px 13px;
  border: 1px solid #e1e3e6;
  border-radius: 14px;
  background: #f4f5f6;
  box-sizing: border-box;
}
body .rvs-product-shelf-body .ut2-gl__item {
  border-color: #e1e3e6 !important;
  background: #fff;
  box-shadow: 0 2px 8px rgba(24, 28, 36, .05);
}
body .rvs-product-shelf-body .owl-controls .owl-buttons > div { background: #fff !important; box-shadow: 0 3px 12px rgba(24, 28, 36, .14); }

body .ab-fn-parent { overflow: hidden !important; }
body .ab-fn-first-level.ab__fn_grid {
  display: grid !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 9px;
  overflow: hidden !important;
}
body .ab-fn-first-level .ab-fn-first-level-item,
body .ab-fn-first-level .ab-fn-first-level-item.ty-column7 {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
}
html body .tygh-content .ab-fn-first-level .ab-fn-fl-content {
  display: flex !important;
  min-height: 126px !important;
  height: 126px !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px solid var(--rvs-line);
  border-radius: 9px;
  color: var(--rvs-ink);
  background: #fff;
  box-sizing: border-box;
  overflow: hidden !important;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body .ab-fn-first-level .ab-fn-fl-content:hover {
  border-color: var(--rvs-red);
  box-shadow: 0 8px 20px rgba(24, 28, 36, .10);
  transform: translateY(-2px);
}
body .ab-fn-first-level .ab-fn-image-wrap {
  display: block !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 100% !important;
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 76px;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  background-color: #faf9f7;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 200% 200%;
}
body .ab-fn-first-level .ab-fn-image-wrap img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  opacity: 0;
}
body .ab-fn-first-level-item .ab-fn-image-wrap {
  background-image: url('../media/images/addons/my_changes/rvd-visual-v12/rvd-series-contact-sheet-v12.png');
  box-shadow: inset 0 0 0 1px rgba(23, 26, 33, .06);
}
body .ab-fn-first-level-item:nth-child(1) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(3) .ab-fn-image-wrap { background-position: 0 0; }
body .ab-fn-first-level-item:nth-child(2) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(4) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(12) .ab-fn-image-wrap { background-position: 100% 0; }
body .ab-fn-first-level-item:nth-child(5) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(6) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(7) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(10) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(11) .ab-fn-image-wrap { background-position: 0 100%; }
body .ab-fn-first-level-item:nth-child(8) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(9) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(13) .ab-fn-image-wrap,
body .ab-fn-first-level-item:nth-child(14) .ab-fn-image-wrap { background-position: 100% 100%; }
body .ab-fn-first-level .ab-fn-item-header {
  display: block;
  margin-top: 6px;
  color: var(--rvs-ink);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

body:has(#categories_view_pagination_contents) .ab-fn-first-level.ab__fn_grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
  min-height: 76px !important;
  height: 76px !important;
  flex-direction: row;
  justify-content: flex-start;
  padding: 6px 9px;
}
body:has(#categories_view_pagination_contents) .ab-fn-first-level .ab-fn-image-wrap {
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  flex: 0 0 64px;
}
body:has(#categories_view_pagination_contents) .ab-fn-first-level .ab-fn-item-header {
  margin: 0 0 0 10px;
  font-size: 12px;
  text-align: left;
}
body:has(#categories_view_pagination_contents) .ty-mainbox-container:has(.ab-fn-parent) { margin-top: 8px !important; }

body .ut2-gl__item,
body .ty-product-list {
  overflow: hidden;
  border: 1px solid var(--rvs-line) !important;
  border-radius: 9px !important;
  background: #fff;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body .ut2-gl__item:hover,
body .ty-product-list:hover {
  border-color: #aeb3ba !important;
  box-shadow: var(--rvs-shadow);
  transform: translateY(-1px);
}
body .ut2-gl__image,
body .ut2-pl__image { background: #fafafa; }
body .ty-no-image {
  position: relative;
  display: block !important;
  overflow: hidden;
  border: 0 !important;
  background: #fafafa url('../media/images/addons/my_changes/rvd-commerce-v4/rvd-product-catalog-v4.png') center / contain no-repeat !important;
}
body .ty-no-image::before,
body .ty-no-image::after,
body .ty-no-image__icon { display: none !important; content: none !important; }
body .ut2-gl__name,
body .ut2-gl__name a,
body .ty-product-list .product-title,
body .ty-product-list__item-name {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  color: var(--rvs-ink) !important;
  font-weight: 750 !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
}
body .ut2-gl__name::before,
body .ty-product-list .ut2-pl__info::before {
  display: inline-flex;
  width: max-content;
  margin-bottom: 5px;
  padding: 3px 7px;
  border-radius: 4px;
  content: "Готовая сборка";
  color: var(--rvs-red);
  background: var(--rvs-red-soft);
  font-size: 8px;
  font-weight: 850;
}
body .ut2-gl__name a { font-size: 12px !important; }
body .ut2-gl__item .ut2-gl__body { padding: 10px 11px 11px; }
body .ut2-gl__item .ut2-gl__image { margin-bottom: 7px; }
body .ut2-gl__item .ut2-gl__buttons { opacity: 1 !important; visibility: visible !important; }
body .ut2-rating-stars:empty,
body .ut2-gl__rating:empty { display: none !important; }
body .ty-price,
body .ty-price-num { color: var(--rvs-ink) !important; font-weight: 900 !important; }
body .ut2-gl__price { margin-top: 7px; }
body .ut2-gl__price .ty-price { font-size: 18px; }
body .ut2-gl__buttons .ty-btn__add-to-cart,
body .ut2-gl__bottom .ty-btn__add-to-cart { border-radius: 50%; }
body .ut2-gl__item .ut2-add-to-wish,
body .ut2-gl__item .ut2-add-to-compare { opacity: 1 !important; visibility: visible !important; }

body #categories_view_pagination_contents {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}
body.rvs-catalog-page-v13 .ut2-cat-container { align-items: flex-start; }
body .rvs-catalog-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(390px, .75fr);
  gap: 24px;
  align-items: center;
  margin: 12px 0 16px;
  padding: 22px 24px;
  overflow: hidden;
  border: 1px solid #9f0018;
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 90% -40%, rgba(255, 255, 255, .22), transparent 46%),
    linear-gradient(112deg, #940016 0, #c4001d 62%, #a40019 100%);
  box-shadow: 0 12px 28px rgba(101, 0, 16, .18);
}
body .rvs-catalog-intro__copy { display: flex; min-width: 0; flex-direction: column; }
body .rvs-catalog-intro__copy > span {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, .82);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
}
body .rvs-catalog-intro__copy > strong {
  color: #fff;
  font-size: clamp(20px, 2vw, 29px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.025em;
}
body .rvs-catalog-intro__copy > p { margin: 8px 0 0; color: rgba(255, 255, 255, .9); font-size: 13px; line-height: 1.4; }
body .rvs-catalog-intro__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 9px;
  background: rgba(80, 0, 13, .2);
}
body .rvs-catalog-intro__facts > div { min-width: 0; padding: 12px; border-right: 1px solid rgba(255, 255, 255, .22); }
body .rvs-catalog-intro__facts > div:last-child { border-right: 0; }
body .rvs-catalog-intro__facts dt { color: #fff; font-size: 18px; font-weight: 900; line-height: 1.05; }
body .rvs-catalog-intro__facts dd { margin: 4px 0 0; color: rgba(255, 255, 255, .82); font-size: 9px; line-height: 1.25; }
body #categories_view_pagination_contents > .ty-pagination,
body #categories_view_pagination_contents > script,
body #categories_view_pagination_contents > input { grid-column: 1 / -1; }
body .ty-sidebox,
body .ut2-sidebox-important,
body .ty-sort-container { border-color: var(--rvs-line); border-radius: 9px; background: #fff; }
body .ut2-sidebox-important__title { color: var(--rvs-ink); font-weight: 850; }
body .ut2-subcategories__item a { border-radius: 5px; }
body .ut2-subcategories__item.active a,
body .ut2-subcategories__item a:hover { color: var(--rvs-red); background: var(--rvs-red-soft); }
body .ty-sort-container { margin-bottom: 10px; padding: 9px 12px; background: var(--rvs-surface); }
body .ty-product-list { min-width: 0; margin: 0 !important; }
body .ty-product-list.decolorize,
body .ty-product-list.decolorize img,
body .ty-product-list.decolorize .ty-btn { opacity: 1 !important; filter: none !important; }
body .ty-product-list.rvs-catalog-product-v13 {
  border: 1px solid #d6d9df !important;
  border-left: 4px solid var(--rvs-red) !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 16px rgba(24, 28, 36, .07);
}
body .ty-product-list.rvs-catalog-product-v13:hover {
  border-color: #b8bdc5 !important;
  border-left-color: var(--rvs-red) !important;
  box-shadow: 0 13px 28px rgba(24, 28, 36, .13);
  transform: translateY(-2px);
}
body .ty-product-list > form { display: block !important; width: 100% !important; }
body .ty-product-list .ut2-pl__wrap {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: 218px minmax(0, 1fr);
  align-items: stretch;
}
body .ty-product-list .ut2-pl__image {
  width: 218px !important;
  max-width: 218px !important;
  height: 190px !important;
  margin: 0 !important;
  padding: 11px;
  border-right: 1px solid var(--rvs-line);
  box-sizing: border-box;
  background: linear-gradient(145deg, #fafafa, #f2f3f5);
}
body .ty-product-list .ut2-pl__image > div,
body .ty-product-list .ut2-pl__image > div > a,
body .ty-product-list .ut2-pl__image .ty-no-image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 168px !important;
}
body .ty-product-list .ut2-pl__content {
  display: grid !important;
  min-width: 0;
  min-height: 190px;
  grid-template-columns: minmax(0, 1fr) 238px;
  align-items: stretch;
  padding: 0 !important;
}
body .ty-product-list .ut2-pl__info {
  display: flex !important;
  width: auto !important;
  min-width: 0;
  flex-direction: column !important;
  justify-content: flex-start;
  padding: 15px 18px !important;
}
body .ty-product-list .ut2-pl__control {
  display: flex !important;
  width: auto !important;
  min-width: 0;
  flex-direction: column !important;
  justify-content: center;
  margin: 0 !important;
  padding: 15px 16px !important;
  border-left: 1px solid var(--rvs-line);
  background: linear-gradient(180deg, #fff 0, #f7f7f8 100%);
}
body .ty-product-list .product-title { min-height: 0; font-size: 15px !important; line-height: 1.35 !important; }
body .ty-product-list.rvs-catalog-product-v13 .ut2-pl__info::before { display: none !important; content: none !important; }
body .rvs-catalog-product__kicker {
  display: inline-flex;
  width: max-content;
  margin-bottom: 7px;
  padding: 4px 8px;
  border-radius: 5px;
  color: var(--rvs-red);
  background: var(--rvs-red-soft);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .055em;
}
body .rvs-catalog-product__facts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
body .rvs-catalog-product__facts span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #dfe2e6;
  border-radius: 999px;
  color: #434a55;
  background: #f7f7f8;
  font-size: 10px;
  font-weight: 800;
}
body .ty-product-list .ut2-gl__rating { display: none !important; }
body .ty-product-list .ut2-pl__qty-wrap { display: flex !important; width: 100% !important; gap: 7px; margin-top: 8px; }
body .ty-product-list .ut2-pl__qty-wrap > div:last-child { min-width: 0; flex: 1 1 auto; }
body .ty-product-list .ty-btn__add-to-cart {
  width: 100%;
  min-height: 46px;
  border-radius: 8px;
  box-shadow: 0 5px 12px rgba(196, 0, 29, .19);
  font-size: 13px;
}
body .ty-product-list .ut2-pl__price .ty-price,
body .ty-product-list .ut2-pl__price .ty-price-num { color: var(--rvs-red) !important; font-size: 24px !important; }
body .ty-product-list .ty-price-per-unit { color: #707681; font-size: 10px; }

body .ut2-pb {
  display: grid !important;
  max-width: 1420px;
  grid-template-areas:
    "crumb crumb"
    "media title"
    "media buy";
  grid-template-columns: minmax(0, 1.14fr) minmax(400px, .86fr);
  column-gap: 30px;
  align-items: start;
  margin: 0 auto;
}
body .ut2-pb__breadcrumbs,
body .ut2-breadcrumbs__wrapper { grid-area: crumb; }
body .ut2-pb__title {
  grid-area: title;
  margin: 7px 0 14px !important;
  padding: 0 !important;
}
body .ut2-pb__title h1 {
  margin: 0 !important;
  color: var(--rvs-ink) !important;
  font-size: clamp(23px, 2.05vw, 29px) !important;
  line-height: 1.13 !important;
  letter-spacing: -.035em;
}
body .ut2-pb__top-ss { margin-top: 8px; }
body .ut2-pb > div[itemscope] { display: none; }
body .ut2-pb__wrapper { display: contents !important; }
body .ut2-pb__img-wrapper {
  grid-area: media;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent;
}
body .ut2-pb__img {
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--rvs-line);
  border-radius: 10px;
  background: #fafafa;
}
body .ut2-pb__img-wrapper .ty-product-img,
body .ut2-pb__img-wrapper .owl-wrapper-outer,
body .ut2-pb__img-wrapper .owl-item,
body .ut2-pb__img-wrapper .ty-no-image { height: 500px !important; }
body .ut2-pb__right-wrap {
  position: sticky !important;
  top: 86px;
  grid-area: buy;
  width: auto !important;
  min-width: 0;
  transform: translateY(var(--rvs-buy-shift, 0px));
}
body .ut2-pb__main-content-box {
  padding: 21px !important;
  border: 1px solid #cfd2d7;
  border-top: 4px solid var(--rvs-red);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(24, 28, 36, .10);
}
body .rvs-buybox-manufacturing {
  display: flex;
  margin: -6px -6px 17px;
  padding: 12px 13px;
  border-radius: 8px;
  flex-direction: column;
  color: #fff;
  background: linear-gradient(105deg, #970017, var(--rvs-red));
}
body .rvs-buybox-manufacturing strong { color: #fff; font-size: 15px; font-weight: 900; line-height: 1.15; }
body .rvs-buybox-manufacturing span { margin-top: 4px; color: rgba(255, 255, 255, .86); font-size: 10px; line-height: 1.25; }
body .ut2-pb__price-wrap { margin-bottom: 13px; padding-bottom: 14px; border-bottom: 1px solid var(--rvs-line); }
body .ut2-pb__main-content-box .rvs-product-code-under-price {
  display: flex;
  margin: -2px 0 14px;
  padding: 9px 11px;
  border: 1px solid #e2e4e8;
  border-radius: 7px;
  color: #5c6370;
  background: #f6f6f7;
}
body .ut2-pb__main-content-box .rvs-product-code-under-price .ty-control-group { margin: 0; }
body .ut2-pb__price-actual .ty-price { font-size: 34px !important; line-height: 1; }
body .ut2-pb__button { display: flex; align-items: stretch; gap: 9px; }
body .ut2-pb__button .ut2-qty__wrap { flex: 0 0 92px; }
body .ut2-pb__button .cm-reload { min-width: 0; flex: 1 1 auto; }
body .ut2-pb__button .ty-btn__add-to-cart { width: 100%; min-height: 50px; border-radius: 7px; font-size: 15px; }
body .ty-geo-maps-shipping__wrapper { display: none !important; }
body .ut2-pb__tabs-wrapper { margin-top: 12px; }
body .ut2-pb__tabs {
  padding: 0 18px 18px;
  border: 1px solid var(--rvs-line);
  border-radius: 10px;
  background: #fff;
}
body .ut2-pb__tabs .ty-tabs__item.active { border-bottom-color: var(--rvs-red); }
body .ut2-pb__tabs .content-description ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 13px 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--rvs-line);
  border-radius: 7px;
  list-style: none;
}
body .ut2-pb__tabs .content-description li { margin: 0; padding: 10px 12px; border-right: 1px solid var(--rvs-line); border-bottom: 1px solid var(--rvs-line); }
body .ut2-pb__tabs .content-description > p:first-child {
  margin: 10px 0 14px;
  padding: 11px 13px;
  border-left: 4px solid var(--rvs-red);
  border-radius: 0 7px 7px 0;
  background: var(--rvs-red-soft);
}
body .rvs-product-benefits { display: none !important; }

body .ty-pagination__item,
body .ty-pagination__selected { border-radius: 5px; }
body .ty-pagination__selected { color: #fff !important; background: var(--rvs-red) !important; }
body .tygh-footer > div { background: #181b22 !important; }
body .tygh-footer,
body .tygh-footer a,
body .tygh-footer p,
body .tygh-footer li { color: #d4d7dc !important; }
body .tygh-footer a:hover { color: #fff !important; }
body .tygh-footer h3,
body .tygh-footer .ty-footer-general__header { color: #fff !important; }
body .tygh-footer .bottom-copyright[data-rvs-copyright="v13"] {
  margin: 0;
  color: #fff !important;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  body .top-logo .ty-logo-container { width: 222px !important; }
  body .ty-logo-container__image { width: 214px !important; }
  .rvs-hero { grid-template-columns: minmax(410px, .96fr) minmax(420px, 1.04fr); }
  .rvs-hero__copy { padding-left: 27px; }
  .rvs-order-panel { grid-template-columns: 220px minmax(0, 1fr); gap: 16px; }
  .rvs-order-panel__action { grid-column: 1 / -1; justify-self: end; }
  body .rvs-catalog-intro { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body .ab-fn-first-level.ab__fn_grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
  body .ab-fn-first-level .ab-fn-image-wrap {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    flex-basis: 68px;
  }
  body:has(#categories_view_pagination_contents) .ab-fn-first-level.ab__fn_grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body .ty-product-list .ut2-pl__content { grid-template-columns: minmax(0, 1fr) 210px; }
}

@media (max-width: 767px) {
  body .header-grid > .container-fluid-row > .row-fluid { min-height: 60px; }
  body .top-logo .ty-logo-container { width: 184px !important; max-width: 184px !important; }
  body .ty-logo-container__image { width: 180px !important; max-height: 40px; }
  body .ty-search-block__input { height: 43px !important; font-size: 13px; }
  body .ty-search-magnifier { height: 43px; }
  body .ty-btn { min-height: 41px; }

  .rvs-manufacturing-bar__inner {
    min-height: 92px;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 9px 12px;
    padding: 10px 12px;
  }
  .rvs-manufacturing-bar__identity { gap: 9px; font-size: 17px; line-height: 1.1; }
  .rvs-manufacturing-bar__identity::before { width: 30px; height: 30px; flex: 0 0 30px; font-size: 8px; }
  .rvs-manufacturing-bar__detail {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
  }
  .rvs-manufacturing-bar__action { grid-column: 2; grid-row: 1; min-height: 40px; padding: 0 12px; font-size: 12px; font-weight: 900; }

  .rvs-reference-home { margin-top: 5px; }
  .rvs-hero { min-height: 0; grid-template-columns: 1fr; border-radius: 9px; }
  .rvs-hero__copy { padding: 21px 15px 18px; border-left-width: 5px; }
  .rvs-eyebrow { margin-bottom: 7px; font-size: 9px; }
  .rvs-hero h1 { font-size: 28px !important; }
  .rvs-hero__lead { margin-top: 10px; font-size: 13px; }
  .rvs-hero__actions { display: grid; grid-template-columns: 1fr; gap: 7px; margin-top: 15px; }
  .rvs-hero__actions .ty-btn { width: 100%; box-sizing: border-box; }
  .rvs-hero__links { margin-top: 11px; }
  .rvs-hero__note { margin-top: 11px; padding-top: 9px; font-size: 10px; }
  .rvs-hero__visual { min-height: 208px; background-position: 60% center; }
  .rvs-hero__visual::before { background: linear-gradient(180deg, #f6f3f1 0, transparent 26%); }
  .rvs-hero__card { right: 10px; bottom: 10px; width: 194px; padding: 10px 11px; }
  .rvs-commerce-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 7px; }
  .rvs-commerce-strip > div { min-height: 60px; padding: 8px 10px; }
  .rvs-commerce-strip > div:nth-child(2n) { border-right: 0; }
  .rvs-commerce-strip > div:not(:nth-last-child(-n+2)) { border-bottom: 1px solid var(--rvs-line); }
  .rvs-commerce-strip > div:last-child { grid-column: 1 / -1; }
  .rvs-commerce-strip strong { font-size: 12px; }
  .rvs-commerce-strip span { font-size: 9px; }

  .rvs-order-panel {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 12px;
    border-radius: 9px;
  }
  .rvs-order-panel__intro h2 { font-size: 18px !important; }
  .rvs-order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rvs-order-steps li {
    min-height: 48px;
    padding: 6px 7px;
    border: 1px solid #dfe1e4;
    border-radius: 7px;
    background: #fff;
  }
  .rvs-order-panel__action { grid-column: auto; justify-self: stretch; justify-content: center; }

  body .ty-mainbox-container { margin-top: 17px; }
  body .ty-mainbox-title,
  body .ty-mainbox-title.ut2-center-title,
  body .ty-mainbox-title__wrapper { margin-bottom: 8px; font-size: 21px !important; }
  body .rvs-product-shelf-title { margin-top: 18px; }
  body .rvs-product-shelf-body { padding: 8px 5px 9px; border-radius: 10px; }
  body .rvs-product-shelf .ty-mainbox-title,
  body .rvs-product-shelf .ty-mainbox-title__wrapper { margin-bottom: 9px !important; font-size: 19px !important; }
  body .ab-fn-parent { overflow: hidden !important; }
  html body .tygh-content .ab-fn-first-level.ab__fn_grid,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level.ab__fn_grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 7px;
    overflow: hidden !important;
  }
  html body .tygh-content .ab-fn-first-level.ab__fn_grid > .ab-fn-first-level-item {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    visibility: visible !important;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-fl-content,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 70px !important;
    height: 70px !important;
    flex-direction: row;
    justify-content: flex-start;
    padding: 5px 7px;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-image-wrap,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-image-wrap {
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    flex: 0 0 56px;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-item-header,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-item-header {
    margin: 0 0 0 7px;
    font-size: 10px;
    text-align: left;
  }

  body .rvs-catalog-intro { gap: 12px; margin: 9px 0 12px; padding: 16px 14px; border-radius: 9px; }
  body .rvs-catalog-intro__copy > strong { font-size: 20px; }
  body .rvs-catalog-intro__copy > p { font-size: 11px; }
  body .rvs-catalog-intro__facts > div { padding: 9px 6px; text-align: center; }
  body .rvs-catalog-intro__facts dt { font-size: 14px; }
  body .rvs-catalog-intro__facts dd { font-size: 8px; }
  body #categories_view_pagination_contents { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  body .ty-product-list .ut2-pl__wrap { grid-template-columns: 122px minmax(0, 1fr); }
  body .ty-product-list .ut2-pl__image {
    width: 122px !important;
    max-width: 122px !important;
    height: 174px !important;
    padding: 6px;
  }
  body .ty-product-list .ut2-pl__image > div,
  body .ty-product-list .ut2-pl__image > div > a,
  body .ty-product-list .ut2-pl__image .ty-no-image { height: 162px !important; }
  body .ty-product-list .ut2-pl__content {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: max-content max-content;
    grid-auto-rows: max-content;
    align-items: start;
  }
  body .ty-product-list .ut2-pl__info { padding: 11px 11px 7px !important; }
  body .ty-product-list .ut2-pl__control {
    height: auto !important;
    min-height: 0 !important;
    block-size: min-content !important;
    align-self: start;
    justify-content: flex-start;
    padding: 0 11px 11px !important;
    border-top: 0;
    border-left: 0;
    background: #fff;
  }
  body .ty-product-list .ut2-pl__control .ut2-pl__price,
  body .ty-product-list .ut2-pl__control .ty-price-per-unit,
  body .ty-product-list .ut2-pl__control .ut2-pl__qty-wrap { margin-top: 0 !important; margin-bottom: 4px !important; }
  body .ty-product-list .ut2-pl__control .ty-product-list__option,
  body .ty-product-list .ut2-pl__control .stock-wrap { display: none !important; }
  body .ty-product-list .product-title { font-size: 12px !important; line-height: 1.3 !important; }
  body .rvs-catalog-product__kicker { margin-bottom: 5px; padding: 3px 6px; font-size: 7px; }
  body .rvs-catalog-product__facts { gap: 3px; margin-top: 7px; }
  body .rvs-catalog-product__facts span { min-height: 20px; padding: 0 6px; font-size: 8px; }
  body .ty-product-list .ut2-pl__price .ty-price,
  body .ty-product-list .ut2-pl__price .ty-price-num { font-size: 19px !important; }
  body .ty-product-list .ut2-pl__qty-wrap { gap: 4px; }
  body .ty-product-list .ty-btn__add-to-cart { min-width: 0; min-height: 42px; padding: 0 9px; font-size: 11px; }

  body .ut2-gl__item .ut2-w-c-q__buttons {
    min-width: 68px;
    min-height: 32px;
  }
  body .ut2-gl__item .ut2-w-c-q__buttons .ut2-add-to-wish,
  body .ut2-gl__item .ut2-w-c-q__buttons .ut2-add-to-compare {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--rvs-red) !important;
    border: 1px solid #e5e7eb;
    border-radius: 7px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 2px 8px rgba(17, 24, 39, .08);
  }
  body .ut2-gl__item .ut2-w-c-q__buttons .ut2-add-to-wish i,
  body .ut2-gl__item .ut2-w-c-q__buttons .ut2-add-to-compare i { font-size: 18px; }

  body .ut2-pb {
    display: grid !important;
    grid-template-areas:
      "crumb"
      "title"
      "buy"
      "media";
    grid-template-columns: minmax(0, 1fr);
    row-gap: 8px;
  }
  body .ut2-pb__title { margin: 2px 0 3px !important; }
  body .ut2-pb__title h1 { font-size: 22px !important; }
  body .ut2-pb__img { padding: 6px; border-radius: 8px; }
  body .ut2-pb__img-wrapper .ty-product-img,
  body .ut2-pb__img-wrapper .owl-wrapper-outer,
  body .ut2-pb__img-wrapper .owl-item,
  body .ut2-pb__img-wrapper .ty-no-image { height: 315px !important; }
  body .ut2-pb__right-wrap { position: static !important; transform: none; }
  body .ut2-pb__main-content-box { padding: 15px !important; border-radius: 8px; box-shadow: 0 8px 20px rgba(24, 28, 36, .08); }
  body .rvs-buybox-manufacturing { margin: -3px -3px 14px; padding: 11px; }
  body .ut2-pb__price-actual .ty-price { font-size: 29px !important; }
  body .ut2-pb__button { gap: 6px; }
  body .ut2-pb__button .ut2-qty__wrap { flex-basis: 80px; }
  body .ut2-pb__tabs { padding: 0 10px 10px; border-radius: 8px; }
  body .ut2-pb__tabs .content-description ul { grid-template-columns: 1fr; }
}

@media (max-width: 389px) {
  .rvs-hero h1 { font-size: 25px !important; }
  body .top-logo .ty-logo-container { width: 164px !important; }
  body .ty-logo-container__image { width: 160px !important; }
  body .ty-product-list .ut2-pl__wrap { grid-template-columns: 112px minmax(0, 1fr); }
  body .ty-product-list .ut2-pl__image { width: 112px !important; max-width: 112px !important; }
}

/* Отдельные представители серий не дают принять разные разделы за один товар. */
body .ab-fn-first-level-item:nth-child(1),
body .rvs-series-index-1 { --rvs-series-x: 0%; --rvs-series-y: 0%; }
body .ab-fn-first-level-item:nth-child(2),
body .rvs-series-index-2 { --rvs-series-x: 33.3333%; --rvs-series-y: 0%; }
body .ab-fn-first-level-item:nth-child(3),
body .rvs-series-index-3 { --rvs-series-x: 66.6667%; --rvs-series-y: 0%; }
body .ab-fn-first-level-item:nth-child(4),
body .rvs-series-index-4 { --rvs-series-x: 100%; --rvs-series-y: 0%; }
body .ab-fn-first-level-item:nth-child(5),
body .rvs-series-index-5 { --rvs-series-x: 0%; --rvs-series-y: 33.3333%; }
body .ab-fn-first-level-item:nth-child(6),
body .rvs-series-index-6 { --rvs-series-x: 33.3333%; --rvs-series-y: 33.3333%; }
body .ab-fn-first-level-item:nth-child(7),
body .rvs-series-index-7 { --rvs-series-x: 66.6667%; --rvs-series-y: 33.3333%; }
body .ab-fn-first-level-item:nth-child(8),
body .rvs-series-index-8 { --rvs-series-x: 100%; --rvs-series-y: 33.3333%; }
body .ab-fn-first-level-item:nth-child(9),
body .rvs-series-index-9 { --rvs-series-x: 0%; --rvs-series-y: 66.6667%; }
body .ab-fn-first-level-item:nth-child(10),
body .rvs-series-index-10 { --rvs-series-x: 33.3333%; --rvs-series-y: 66.6667%; }
body .ab-fn-first-level-item:nth-child(11),
body .rvs-series-index-11 { --rvs-series-x: 66.6667%; --rvs-series-y: 66.6667%; }
body .ab-fn-first-level-item:nth-child(12),
body .rvs-series-index-12 { --rvs-series-x: 100%; --rvs-series-y: 66.6667%; }
body .ab-fn-first-level-item:nth-child(13),
body .rvs-series-index-13 { --rvs-series-x: 0%; --rvs-series-y: 100%; }
body .ab-fn-first-level-item:nth-child(14),
body .rvs-series-index-14 { --rvs-series-x: 33.3333%; --rvs-series-y: 100%; }
body .ab-fn-first-level-item .ab-fn-image-wrap,
body .rvs-series-menu-v16 .rvs-series-menu-link::before {
  background-image: url('../media/images/addons/my_changes/rvd-density-v16/rvs-series-contact-sheet-v16.jpg') !important;
  background-position: var(--rvs-series-x) var(--rvs-series-y) !important;
  background-repeat: no-repeat !important;
  background-size: 400% 400% !important;
}

/* Зона продолжения остаётся в потоке и больше не касается последней строки товаров. */
body .ut2-load-more-wrap { overflow: visible !important; }
body .ut2-load-more-wrap > .grid-list__load-more + div {
  position: relative !important;
  inset: auto !important;
  z-index: 3;
  display: flex !important;
  min-height: 60px !important;
  height: auto !important;
  clear: both;
  align-items: flex-start;
  justify-content: center;
  margin: 0 0 4px !important;
  padding: 14px 0 4px !important;
  box-sizing: border-box;
}
body .ut2-load-more-wrap > .grid-list__load-more + div .load-more-btn {
  position: static !important;
  inset: auto !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  transform: none !important;
  line-height: 36px !important;
}

@media (min-width: 768px) {
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 {
    max-height: 392px !important;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ut2-menu-vetrtical,
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ut2-menu__inbox,
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__items,
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__item.first-lvl {
    height: 100% !important;
    max-height: none !important;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__item-link.a-first-lvl {
    min-height: 100% !important;
    align-items: flex-start;
    padding: 24px 20px !important;
    border-right: 1px solid var(--rvs-line);
    background: linear-gradient(155deg, #f6f7f9, #eceff3) !important;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__submenu {
    padding: 0 16px 16px !important;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .rvs-series-menu-intro {
    display: flex;
    min-height: 61px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 2px 9px;
    border-bottom: 1px solid var(--rvs-line);
    box-sizing: border-box;
  }
  body .rvs-series-menu-intro strong {
    color: var(--rvs-ink);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.1;
  }
  body .rvs-series-menu-intro span {
    color: #626975;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
    text-align: right;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__submenu-items { padding: 10px 0 0 !important; }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__submenu-items > div {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .ty-menu__submenu-col { display: contents !important; }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .second-lvl { margin: 0 !important; }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .rvs-series-menu-link {
    display: grid !important;
    min-height: 67px;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 6px 9px !important;
    border-color: #d9dde3;
    background: #fff;
    box-sizing: border-box;
  }
  body .top-menu-grid-vetrtical .rvs-series-menu-v16 .rvs-series-menu-link::before {
    width: 52px;
    height: 52px;
    border: 1px solid #e1e4e8;
    border-radius: 7px;
    content: "";
    background-color: #f7f8f9;
    box-sizing: border-box;
  }
  body .rvs-series-menu-copy { display: flex; min-width: 0; flex-direction: column; }
  body .rvs-series-menu-copy strong { color: var(--rvs-ink); font-size: 13px; font-weight: 900; line-height: 1.1; }
  body .rvs-series-menu-copy small { margin-top: 4px; color: #747b86; font-size: 9px; font-weight: 650; line-height: 1.15; }
  body .rvs-series-menu-link:hover .rvs-series-menu-copy strong { color: var(--rvs-red); }

  .rvs-hero { min-height: 300px; }
  .rvs-hero__copy { padding: 18px 26px 17px 28px; }
  .rvs-hero h1 { font-size: clamp(33px, 2.55vw, 40px) !important; line-height: .99 !important; }
  .rvs-hero__lead { margin-top: 8px; font-size: 13px; line-height: 1.34; }
  .rvs-hero__actions { margin-top: 9px; }
  .rvs-hero__actions .ty-btn { min-height: 38px; }
  .rvs-hero__links { margin-top: 7px; }
  .rvs-hero__links a { height: 25px; }
  .rvs-hero__note { margin-top: 7px; padding-top: 6px; font-size: 10px; }
  .rvs-hero__visual { min-height: 300px; }
  .rvs-commerce-strip { margin-top: 5px; }
  .rvs-commerce-strip > div { min-height: 54px; padding: 8px 12px; }
  .rvs-order-panel { gap: 16px; margin-top: 7px; padding: 13px 16px; }
  .rvs-order-panel__intro h2 { font-size: 19px !important; }
  .rvs-order-steps li { min-height: 45px; padding: 4px 10px; }

  body .ty-mainbox-container { margin-top: 14px; }
  body .ty-mainbox-title,
  body .ty-mainbox-title.ut2-center-title,
  body .ty-mainbox-title__wrapper { margin-bottom: 8px; font-size: 22px !important; }
  body .rvs-product-shelf-title { margin-top: 18px; }
  body .rvs-product-shelf-body { padding: 8px 7px 9px; border-radius: 10px; }
  body .rvs-product-shelf .ty-mainbox-title,
  body .rvs-product-shelf .ty-mainbox-title__wrapper { margin-bottom: 8px !important; font-size: 19px !important; }
  body .ab-fn-first-level .ab-fn-first-level-item,
  body .ab-fn-first-level .ab-fn-first-level-item.ty-column7 {
    min-height: 0 !important;
    padding: 0 !important;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 108px !important;
    height: 108px !important;
    padding: 6px;
  }
  body .ab-fn-first-level .ab-fn-image-wrap {
    width: 62px !important;
    min-width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    flex-basis: 62px;
  }
  body .ab-fn-first-level .ab-fn-item-header { margin-top: 5px; }
  body .rvs-product-shelf-body .ut2-gl__image,
  body .rvs-product-shelf-body .ut2-gl__image > a,
  body .rvs-product-shelf-body .ut2-gl__image .ty-product-img,
  body .rvs-product-shelf-body .ut2-gl__image .ty-no-image {
    min-height: 174px !important;
    height: 174px !important;
    max-height: 174px !important;
  }
  body .rvs-product-shelf-body .ut2-gl__image img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
  body .rvs-product-shelf-body .ut2-gl__item .ut2-gl__body { padding: 8px 9px 9px; }
  body .rvs-product-shelf-body .ut2-gl__name a { font-size: 11px !important; line-height: 1.27 !important; }

  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 68px !important;
    height: 68px !important;
    padding: 5px 7px;
  }
  body:has(#categories_view_pagination_contents) .ab-fn-first-level .ab-fn-image-wrap {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    flex-basis: 54px;
  }
  body .rvs-catalog-intro { gap: 16px; margin: 8px 0 11px; padding: 15px 18px; }
  body .rvs-catalog-intro__copy > strong { font-size: clamp(19px, 1.7vw, 25px); }
  body .rvs-catalog-intro__copy > p { margin-top: 5px; font-size: 11px; }
  body .rvs-catalog-intro__facts > div { padding: 8px; }
  body .ty-sort-container { min-height: 44px; margin-bottom: 7px; padding: 6px 10px; box-sizing: border-box; }
  body #categories_view_pagination_contents { gap: 7px; }
  body .ty-product-list .ut2-pl__wrap { grid-template-columns: 190px minmax(0, 1fr); }
  body .ty-product-list .ut2-pl__image {
    width: 190px !important;
    max-width: 190px !important;
    height: 166px !important;
    padding: 7px;
  }
  body .ty-product-list .ut2-pl__image > div,
  body .ty-product-list .ut2-pl__image > div > a,
  body .ty-product-list .ut2-pl__image .ty-no-image { height: 152px !important; }
  body .ty-product-list .ut2-pl__content { min-height: 166px; grid-template-columns: minmax(0, 1fr) 216px; }
  body .ty-product-list .ut2-pl__info { padding: 10px 13px !important; }
  body .ty-product-list .ut2-pl__control { padding: 10px 12px !important; }
  body .ty-product-list .product-title { font-size: 13px !important; line-height: 1.27 !important; }
  body .rvs-catalog-product__kicker { margin-bottom: 5px; padding: 3px 7px; }
  body .rvs-catalog-product__facts { margin-top: 6px; }
  body .rvs-catalog-product__facts span { min-height: 21px; }
  body .ty-product-list .ty-btn__add-to-cart { min-height: 42px; }
  body .ty-product-list .ut2-pl__price .ty-price,
  body .ty-product-list .ut2-pl__price .ty-price-num { font-size: 21px !important; }

  body .ut2-pb { grid-template-columns: minmax(0, 1fr) minmax(410px, .94fr); column-gap: 24px; }
  body .ut2-pb__title { margin: 4px 0 9px !important; }
  body .ut2-pb__title h1 { font-size: clamp(22px, 1.85vw, 27px) !important; line-height: 1.1 !important; }
  body .ut2-pb__img { padding: 8px; }
  body .ut2-pb__img-wrapper .ty-product-img,
  body .ut2-pb__img-wrapper .owl-wrapper-outer,
  body .ut2-pb__img-wrapper .owl-item,
  body .ut2-pb__img-wrapper .ty-no-image { height: 430px !important; }
  body .ut2-pb__main-content-box { padding: 16px !important; }
  body .rvs-buybox-manufacturing { margin: -3px -3px 12px; padding: 10px 11px; }
  body .ut2-pb__price-wrap { margin-bottom: 9px; padding-bottom: 10px; }
  body .ut2-pb__main-content-box .rvs-product-code-under-price { margin-bottom: 10px; padding: 7px 9px; }
  body .ut2-pb__price-actual .ty-price { font-size: 30px !important; }
  body .ut2-pb__button .ty-btn__add-to-cart { min-height: 44px; }
  body .ut2-pb__tabs { padding: 0 14px 13px; }
  body .ut2-pb__tabs .content-description li { padding: 7px 9px; }
}

@media (max-width: 767px) {
  .rvs-manufacturing-bar__inner { min-height: 88px; padding: 8px 10px; }
  .rvs-manufacturing-bar__identity { font-size: 16px; }
  .rvs-manufacturing-bar__detail { font-size: 11px; line-height: 1.22; }
  .rvs-manufacturing-bar__action { min-height: 38px; padding: 0 10px; font-size: 12px; }
  .rvs-hero__copy { padding: 16px 13px 14px; }
  .rvs-hero h1 { font-size: 25px !important; line-height: 1.02 !important; }
  .rvs-hero__lead { margin-top: 7px; font-size: 12px; line-height: 1.35; }
  .rvs-hero__actions { margin-top: 10px; }
  .rvs-hero__actions .ty-btn { min-height: 38px; }
  .rvs-hero__links { gap: 5px; margin-top: 8px; }
  .rvs-hero__links a { height: 24px; }
  .rvs-hero__note { margin-top: 8px; padding-top: 7px; }
  .rvs-hero__visual { min-height: 168px; }
  .rvs-commerce-strip > div { min-height: 48px; padding: 6px 8px; }
  .rvs-order-panel { gap: 8px; padding: 10px; }
  .rvs-order-panel__intro h2 { font-size: 16px !important; }
  .rvs-order-panel__intro p { margin-top: 4px; font-size: 10px; }
  .rvs-order-steps { gap: 5px; }
  .rvs-order-steps li { min-height: 42px; padding: 4px 5px; }
  body .ty-mainbox-container { margin-top: 12px; }
  body .ty-mainbox-title,
  body .ty-mainbox-title.ut2-center-title,
  body .ty-mainbox-title__wrapper { font-size: 19px !important; }
  html body .tygh-content .ab-fn-first-level .ab-fn-fl-content,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 60px !important;
    height: 60px !important;
    padding: 4px 5px;
  }
  body .ab-fn-first-level .ab-fn-first-level-item,
  body .ab-fn-first-level .ab-fn-first-level-item.ty-column7 {
    min-height: 0 !important;
    padding: 0 !important;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-image-wrap,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-image-wrap {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    flex-basis: 46px;
  }
  body .rvs-catalog-intro { gap: 8px; margin: 7px 0 9px; padding: 12px; }
  body .rvs-catalog-intro__copy > strong { font-size: 18px; }
  body .rvs-catalog-intro__facts > div { padding: 7px 4px; }
  body .ty-sort-container { min-height: 46px; margin-bottom: 7px; padding: 6px 8px; }
  body #categories_view_pagination_contents { gap: 6px; }
  body .ty-product-list .ut2-pl__wrap { grid-template-columns: 106px minmax(0, 1fr); }
  body .ty-product-list .ut2-pl__image {
    width: 106px !important;
    max-width: 106px !important;
    height: 150px !important;
    padding: 5px;
  }
  body .ty-product-list .ut2-pl__image > div,
  body .ty-product-list .ut2-pl__image > div > a,
  body .ty-product-list .ut2-pl__image .ty-no-image { height: 140px !important; }
  body .ty-product-list .ut2-pl__info { padding: 8px 8px 5px !important; }
  body .ty-product-list .ut2-pl__control { padding: 0 8px 8px !important; }
  body .ty-product-list .product-title { font-size: 11px !important; line-height: 1.22 !important; }
  body .rvs-catalog-product__facts { margin-top: 5px; }
  body .rvs-catalog-product__facts span { min-height: 18px; padding: 0 5px; font-size: 7px; }
  body .ty-product-list .ty-btn__add-to-cart { min-height: 42px; }
  body .ut2-pb { row-gap: 5px; }
  body .ut2-pb__title h1 { font-size: 20px !important; line-height: 1.08 !important; }
  body .ut2-pb__img-wrapper .ty-product-img,
  body .ut2-pb__img-wrapper .owl-wrapper-outer,
  body .ut2-pb__img-wrapper .owl-item,
  body .ut2-pb__img-wrapper .ty-no-image { height: 260px !important; }
  body .ut2-pb__main-content-box { padding: 12px !important; }
  body .rvs-buybox-manufacturing { margin: -2px -2px 9px; padding: 9px; }
  body .ut2-pb__price-wrap { margin-bottom: 7px; padding-bottom: 8px; }
  body .ut2-pb__main-content-box .rvs-product-code-under-price { margin-bottom: 8px; padding: 6px 8px; }
  body .ut2-pb__button .ty-btn__add-to-cart { min-height: 42px; }
  body .ut2-pb__tabs { padding: 0 8px 8px; }
  body .ut2-pb__tabs .content-description li { padding: 7px 8px; }
  body .ut2-load-more-wrap > .grid-list__load-more + div { min-height: 56px !important; padding-top: 12px !important; }
}

/* Заявка остаётся штатной формой CS-Cart, но читается как технический опросный лист. */
body .rvs-specification-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, .7fr);
  gap: 20px;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #dedfe3;
  border-left: 5px solid var(--rvs-red);
  border-radius: 10px;
  background: linear-gradient(110deg, #fff 0, #f7f7f8 100%);
  box-sizing: border-box;
}
body .rvs-specification-intro > div > span {
  display: block;
  margin-bottom: 5px;
  color: var(--rvs-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
body .rvs-specification-intro > div > strong {
  display: block;
  color: var(--rvs-ink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
}
body .rvs-specification-intro p {
  margin: 8px 0 0;
  color: var(--rvs-muted);
  font-size: 13px;
  line-height: 1.45;
}
body .rvs-specification-intro ul {
  display: grid;
  align-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body .rvs-specification-intro li {
  position: relative;
  padding-left: 18px;
  color: #383d46;
  font-size: 12px;
  font-weight: 750;
}
body .rvs-specification-intro li::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 8px;
  height: 8px;
  border: 2px solid var(--rvs-red);
  border-radius: 50%;
  content: "";
  box-sizing: border-box;
}
body .ty-form-builder {
  padding: 18px 20px 20px;
  border: 1px solid var(--rvs-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(24, 28, 36, .08);
}
body .ty-form-builder form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
body .ty-form-builder form > .ty-subheader,
body .ty-form-builder form > .ty-form-builder__buttons,
body .ty-form-builder form > [class*="captcha"],
body .ty-form-builder form > script { grid-column: 1 / -1; }
body .ty-form-builder .ty-subheader {
  margin: 4px 0 0;
  padding: 0 0 8px;
  border-bottom: 2px solid #242832;
  color: #242832;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}
body .ty-form-builder .ty-control-group { margin: 0; }
body .ty-form-builder .ty-control-group:has(textarea),
body .ty-form-builder .ty-control-group:has(.fileuploader),
body .ty-form-builder .ty-control-group:has(input[type="checkbox"]) { grid-column: 1 / -1; }
body .ty-form-builder .ty-control-group__title {
  display: block;
  margin: 0 0 5px;
  color: #30353e;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
body .ty-form-builder input[type="text"],
body .ty-form-builder input[type="tel"],
body .ty-form-builder input[type="email"],
body .ty-form-builder select,
body .ty-form-builder textarea {
  width: 100% !important;
  max-width: none !important;
  border: 1px solid #cfd2d8 !important;
  border-radius: 6px !important;
  color: var(--rvs-ink) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
body .ty-form-builder input[type="text"],
body .ty-form-builder input[type="tel"],
body .ty-form-builder input[type="email"],
body .ty-form-builder select { min-height: 42px; padding: 8px 10px !important; }
body .ty-form-builder textarea { min-height: 92px; padding: 9px 10px !important; resize: vertical; }
body .ty-form-builder input:focus,
body .ty-form-builder select:focus,
body .ty-form-builder textarea:focus {
  border-color: var(--rvs-red) !important;
  outline: 2px solid rgba(196, 0, 29, .12) !important;
  outline-offset: 0;
}
body .ty-form-builder .ty-form-builder__checkbox {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  accent-color: var(--rvs-red);
}
body .ty-form-builder .fileuploader {
  padding: 10px;
  border: 1px dashed #bdc1c9;
  border-radius: 7px;
  background: #f8f8f9;
}
body .ty-form-builder .ty-form-builder__buttons {
  display: flex;
  justify-content: flex-end;
  margin: 2px -20px -20px;
  padding: 13px 20px;
  border-top: 1px solid var(--rvs-line);
  border-radius: 0 0 10px 10px;
  background: #f4f4f5;
}
body .ty-form-builder .ty-form-builder__buttons .ty-btn {
  min-width: 210px;
  min-height: 44px;
  border-color: var(--rvs-red) !important;
  color: #fff !important;
  background: var(--rvs-red) !important;
  font-size: 13px;
  font-weight: 900;
}
body .ty-form-builder .ty-form-builder__buttons .ty-btn:hover { background: var(--rvs-red-dark) !important; }
.ui-dialog[aria-describedby="content_rvs_specification_form"] {
  width: min(920px, calc(100vw - 32px)) !important;
  max-width: 920px !important;
}
.ui-dialog[aria-describedby="content_rvs_specification_form"] .ui-dialog-content {
  max-height: min(78vh, 820px) !important;
  padding: 18px !important;
  overflow-y: auto !important;
}
.ui-dialog[aria-describedby="content_rvs_specification_form"] .ty-mainbox-title { display: none !important; }

@media (max-width: 767px) {
  body .rvs-specification-intro { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
  body .rvs-specification-intro > div > strong { font-size: 18px; }
  body .rvs-specification-intro p { font-size: 12px; }
  body .rvs-specification-intro ul { gap: 5px; }
  body .ty-form-builder { padding: 13px; box-shadow: none; }
  body .ty-form-builder form { grid-template-columns: 1fr; gap: 10px; }
  body .ty-form-builder form > * { grid-column: 1 !important; }
  body .ty-form-builder .ty-subheader { font-size: 15px; }
  body .ty-form-builder .ty-form-builder__buttons {
    margin: 2px -13px -13px;
    padding: 11px 13px;
  }
  body .ty-form-builder .ty-form-builder__buttons .ty-btn { width: 100%; min-width: 0; }
  .ui-dialog[aria-describedby="content_rvs_specification_form"] {
    top: 8px !important;
    left: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: none !important;
  }
  .ui-dialog[aria-describedby="content_rvs_specification_form"] .ui-dialog-content {
    max-height: calc(100vh - 68px) !important;
    padding: 10px !important;
  }
}

/* Плотная торгово-инженерная компоновка: больше полезных точек выбора без пустых этажей. */
.rvs-hero__actions .ty-btn,
.rvs-hero__actions .ty-btn:hover,
.rvs-hero__actions .ty-btn:focus,
.rvs-hero__actions .ty-btn:active {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  padding-right: 19px !important;
  padding-left: 19px !important;
  box-sizing: border-box !important;
  transform: none !important;
  translate: none !important;
}
.rvs-hero__actions .ty-btn::before,
.rvs-hero__actions .ty-btn::after { transform: none !important; }

.rvs-engineering-panel {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(290px, .8fr);
  gap: 8px;
  margin-top: 8px;
}
.rvs-engineering-panel__main,
.rvs-engineering-panel__request {
  min-width: 0;
  border: 1px solid var(--rvs-line);
  border-radius: 10px;
  box-sizing: border-box;
}
.rvs-engineering-panel__main {
  display: grid;
  grid-template-columns: minmax(260px, .74fr) minmax(0, 1.26fr);
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  background: #fff;
}
.rvs-engineering-panel header > span,
.rvs-engineering-panel__request > span {
  color: var(--rvs-red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
}
.rvs-engineering-panel h2 {
  margin: 3px 0 4px !important;
  color: var(--rvs-ink) !important;
  font-size: 19px !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
}
.rvs-engineering-panel header p,
.rvs-engineering-panel__request p {
  margin: 0;
  color: var(--rvs-muted);
  font-size: 10px;
  line-height: 1.35;
}
.rvs-engineering-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.rvs-engineering-links a {
  display: flex;
  min-width: 0;
  min-height: 46px;
  flex-direction: column;
  justify-content: center;
  padding: 5px 9px;
  border: 1px solid #d9dce1;
  border-radius: 7px;
  color: var(--rvs-ink) !important;
  background: #f7f7f8;
  box-sizing: border-box;
  text-decoration: none !important;
}
.rvs-engineering-links a:hover { border-color: var(--rvs-red); background: var(--rvs-red-soft); }
.rvs-engineering-links b { font-size: 12px; font-weight: 900; line-height: 1.1; }
.rvs-engineering-links span { margin-top: 2px; overflow: hidden; color: #68707b; font-size: 8px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.rvs-engineering-panel__request {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 16px;
  border-color: #a70019;
  color: #fff;
  background: linear-gradient(125deg, #930016, var(--rvs-red));
}
.rvs-engineering-panel__request > span,
.rvs-engineering-panel__request p { color: rgba(255, 255, 255, .82); }
.rvs-engineering-panel__request > strong { margin-top: 3px; color: #fff; font-size: 17px; line-height: 1.1; }
.rvs-engineering-panel__request p { margin-top: 5px; }
.rvs-engineering-panel__request > a {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  margin-top: 9px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 6px;
  color: #fff !important;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none !important;
}
.rvs-engineering-panel__request > a:hover { color: var(--rvs-red) !important; background: #fff; }

body .rvs-catalog-series-bar {
  display: flex;
  min-height: 42px;
  gap: 5px;
  align-items: center;
  margin: -5px 0 9px;
  padding: 5px 7px;
  overflow: hidden;
  border: 1px solid var(--rvs-line);
  border-radius: 8px;
  background: #f6f7f8;
  box-sizing: border-box;
}
body .rvs-catalog-series-bar > strong { margin: 0 4px; color: #4f5661; font-size: 10px; white-space: nowrap; }
body .rvs-catalog-series-bar > a {
  display: inline-flex;
  min-width: 42px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 1px solid #d2d5da;
  border-radius: 5px;
  color: var(--rvs-ink) !important;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none !important;
}
body .rvs-catalog-series-bar > a:hover { border-color: var(--rvs-red); color: var(--rvs-red) !important; }
body .rvs-catalog-series-bar > .rvs-catalog-series-bar__request { min-width: 150px; margin-left: auto; border-color: var(--rvs-red); color: #fff !important; background: var(--rvs-red); }
body .rvs-catalog-series-bar > .rvs-catalog-series-bar__request:hover { color: #fff !important; background: var(--rvs-red-dark); }

body .rvs-buybox-capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 10px;
  overflow: hidden;
  border: 1px solid var(--rvs-line);
  border-radius: 7px;
  background: #f7f7f8;
}
body .rvs-buybox-capabilities > span {
  display: flex;
  min-height: 34px;
  gap: 5px;
  align-items: center;
  justify-content: center;
  padding: 4px 6px;
  border-right: 1px solid var(--rvs-line);
  color: #484f59;
  box-sizing: border-box;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
body .rvs-buybox-capabilities > span:last-child { border-right: 0; }
body .rvs-buybox-capabilities b { color: var(--rvs-red); font-size: 9px; }
body .rvs-buybox-request {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding: 6px 10px;
  border: 1px solid #d5d8dd;
  border-radius: 7px;
  color: var(--rvs-ink) !important;
  background: #f7f7f8;
  box-sizing: border-box;
  text-decoration: none !important;
}
body .rvs-buybox-request strong { font-size: 10px; line-height: 1.15; }
body .rvs-buybox-request span { color: var(--rvs-red); font-size: 9px; font-weight: 900; text-align: right; }
body .rvs-buybox-request:hover { border-color: var(--rvs-red); background: var(--rvs-red-soft); }

body .ab-fn-first-level .ab-fn-fl-content:hover { transform: none; }
body .ab-fn-first-level .ab-fn-image-wrap {
  image-rendering: auto !important;
  transform: none !important;
  background-size: 400% 400% !important;
}

@media (min-width: 768px) {
  html body .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 126px !important;
    height: 126px !important;
    padding: 7px !important;
  }
  body .ab-fn-first-level .ab-fn-image-wrap {
    width: 82px !important;
    min-width: 82px !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    flex: 0 0 82px !important;
  }
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 84px !important;
    height: 84px !important;
    padding: 6px 8px !important;
  }
  body:has(#categories_view_pagination_contents) .ab-fn-first-level .ab-fn-image-wrap {
    width: 70px !important;
    min-width: 70px !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    flex: 0 0 70px !important;
  }
  body .rvs-product-shelf-body .ut2-gl__image,
  body .rvs-product-shelf-body .ut2-gl__image > a,
  body .rvs-product-shelf-body .ut2-gl__image .ty-product-img,
  body .rvs-product-shelf-body .ut2-gl__image .ty-no-image {
    min-height: 154px !important;
    height: 154px !important;
    max-height: 154px !important;
  }
  body .rvs-product-shelf-body .ut2-gl__item .ut2-gl__body { padding: 7px 8px 8px !important; }
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .ty-product-img,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .owl-wrapper-outer,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .owl-item,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .ty-no-image { height: 390px !important; }
  body.rvs-product-page-v13 .ut2-pb__tabs-wrapper { margin-top: 8px; }
  body.rvs-product-page-v13 .rvs-product-shelf-title { margin-top: 12px; }
}

@media (max-width: 767px) {
  .rvs-engineering-panel { grid-template-columns: 1fr; gap: 6px; }
  .rvs-engineering-panel__main { grid-template-columns: 1fr; gap: 9px; padding: 12px; }
  .rvs-engineering-panel h2 { font-size: 17px !important; }
  .rvs-engineering-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvs-engineering-panel__request { padding: 12px; }
  body .rvs-catalog-series-bar { flex-wrap: wrap; overflow: visible; }
  body .rvs-catalog-series-bar > strong { width: 100%; }
  body .rvs-catalog-series-bar > a { flex: 1 1 42px; }
  body .rvs-catalog-series-bar > .rvs-catalog-series-bar__request { min-width: 100%; margin-left: 0; }
  html body .tygh-content .ab-fn-first-level .ab-fn-fl-content,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-fl-content {
    min-height: 74px !important;
    height: 74px !important;
    padding: 5px !important;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-image-wrap,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-image-wrap {
    width: 60px !important;
    min-width: 60px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    flex: 0 0 60px !important;
  }
  html body .tygh-content .ab-fn-first-level .ab-fn-item-header,
  html body:has(#categories_view_pagination_contents) .tygh-content .ab-fn-first-level .ab-fn-item-header { margin-left: 6px; font-size: 10px; }
  body .rvs-buybox-request { align-items: flex-start; flex-direction: column; gap: 2px; }
  body .rvs-buybox-request span { text-align: left; }
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .ty-product-img,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .owl-wrapper-outer,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .owl-item,
  body.rvs-product-page-v13 .ut2-pb__img-wrapper .ty-no-image { height: 238px !important; }
}

/* Геометрия этих блоков резервируется до первого paint: иначе поздний DOM-mount
   сдвигает весь каталог и особенно карточку товара на мобильном. */
html { overflow-y: scroll; }
body .tygh-header { margin-bottom: 73px; }
body .rvs-manufacturing-bar {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
}
body .ut2-pb__top-ss .ut2-pb__sku:not(.rvs-product-code-under-price) { display: none !important; }
body .ut2-pb__main-content-box {
  position: relative;
  padding: 89px 21px 21px !important;
}
body .rvs-buybox-manufacturing {
  position: absolute;
  top: 21px;
  right: 21px;
  left: 21px;
  min-height: 51px;
  margin: 0;
  box-sizing: border-box;
}
body .ut2-pb__main-content-box > form {
  position: relative;
  padding-top: 46px !important;
}
body .rvs-buybox-capabilities {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}
body .ut2-pb__price-wrap {
  position: relative;
  padding-bottom: 54px;
}
body .ut2-pb__main-content-box .rvs-product-code-under-price {
  position: absolute;
  right: 0;
  bottom: 8px;
  left: 0;
  display: flex !important;
  min-height: 34px;
  margin: 0;
  box-sizing: border-box;
}
body .ut2-pb__button {
  position: relative;
  margin-bottom: 49px;
}
body .ut2-pb__button > .rvs-buybox-request {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  min-height: 39px;
  margin: 0;
  box-sizing: border-box;
}

/* Lazy-карусель кратко разворачивает все карточки столбцом до инициализации Owl.
   Фиксируем измеренную высоту контейнера, чтобы подвал и соседние полки не прыгали. */
body .cm-ut2-block-loader.ut2-block-loader-products.rvs-lazy-size-lock {
  height: var(--rvs-lazy-lock-height) !important;
  max-height: var(--rvs-lazy-lock-height) !important;
  overflow: hidden !important;
}
@media (min-width: 768px) {
  /* Три ленивые товарные полки имеют разную готовую высоту. Резерв закрепляется
     за строкой и остаётся после удаления скелетона из DOM. */
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="1"] { height: 396px; min-height: 396px; max-height: 396px; overflow: hidden; }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="2"] { height: 438px; min-height: 438px; max-height: 438px; overflow: hidden; }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="3"] { height: 376px; min-height: 376px; max-height: 376px; overflow: hidden; }
  body .ut2-pb__img-wrapper .ty-product-img,
  body .ut2-pb__img-wrapper .owl-wrapper-outer,
  body .ut2-pb__img-wrapper .owl-item,
  body .ut2-pb__img-wrapper .ty-no-image { height: 390px !important; }
}

@media (min-width: 1181px) {
  body .rvs-product-loader-reserved[data-rvs-loader-kind="product"] { height: 557px; min-height: 557px; max-height: 557px; overflow: hidden; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body .rvs-product-loader-reserved[data-rvs-loader-kind="product"] { height: 558px; min-height: 558px; max-height: 558px; overflow: hidden; }
}

@media (min-width: 768px) and (max-width: 900px) {
  body .rvs-product-loader-reserved[data-rvs-loader-kind="product"] { height: 571px; min-height: 571px; max-height: 571px; overflow: hidden; }
}

@media (min-width: 768px) and (max-width: 1180px) {
  body .ut2-pb__main-content-box { padding: 80px 16px 16px !important; }
  body .rvs-buybox-manufacturing {
    top: 16px;
    right: 16px;
    left: 16px;
    min-height: 48px;
  }
}

@media (max-width: 767px) {
  /* UniTheme подставляет карусель при прокрутке. Скелетон обязан занимать ту же высоту,
     что и готовая карточка, иначе каждая полка сдвигает следующие секции на 60 px. */
  body:has(.rvs-reference-home) .cm-ut2-block-loader.ut2-block-loader-products {
    --ab-skeleton-height: 417px !important;
    min-height: 417px !important;
  }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="1"] { height: 451px; min-height: 451px; max-height: 451px; overflow: hidden; }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="2"] { height: 481px; min-height: 481px; max-height: 481px; overflow: hidden; }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="3"] { height: 436px; min-height: 436px; max-height: 436px; overflow: hidden; }
  /* На карточке рекомендации появляются только при прокрутке. Резерв совпадает
     с высотой готовой мобильной полки и не позволяет подвалу прыгать из viewport. */
  body:has(.ut2-pb__main-content-box) .cm-ut2-block-loader.ut2-block-loader-products {
    --ab-skeleton-height: 452px !important;
    min-height: 452px !important;
  }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="product"] { height: 518px; min-height: 518px; max-height: 518px; overflow: hidden; }
  body .tygh-header { margin-bottom: 91px; }
  body .ut2-pb__img-wrapper .ty-product-img,
  body .ut2-pb__img-wrapper .owl-wrapper-outer,
  body .ut2-pb__img-wrapper .owl-item,
  body .ut2-pb__img-wrapper .ty-no-image { height: 238px !important; }
  body .ut2-pb__main-content-box { padding: 75px 12px 12px !important; }
  body .rvs-buybox-manufacturing {
    top: 12px;
    right: 12px;
    left: 12px;
    min-height: 45px;
    margin: 0;
  }
  body .ut2-pb__main-content-box > form { padding-top: 43px !important; }
  body .ut2-pb__price-wrap { padding-bottom: 50px; }
  body .ut2-pb__main-content-box .rvs-product-code-under-price {
    bottom: 7px;
    min-height: 33px;
    margin: 0;
  }
  body .ut2-pb__button { margin-bottom: 49px; }
  body .ut2-pb__button > .rvs-buybox-request { min-height: 41px; }
}

@media (max-width: 359px) {
  /* На 320 px строка корзины переходит ниже после загрузки иконочного шрифта.
     Фиксированная геометрия шапки сохраняет положение контента и красной полосы. */
  body .tygh-header {
    height: 146px;
    min-height: 146px;
    margin-bottom: 116px;
  }
  body .rvs-manufacturing-bar {
    height: 104px;
    min-height: 104px;
  }
  html body .tygh-content .ab-fn-first-level {
    display: grid !important;
    grid-template-columns: repeat(2, 137.5px) !important;
    grid-auto-flow: row !important;
    justify-content: center !important;
  }
  html body .tygh-content .ab-fn-first-level > .ab-fn-first-level-item {
    width: 137.5px !important;
  }
  html body .tygh-content .ab-fn-first-level > .ab-fn-first-level-item:nth-child(odd) {
    justify-self: start;
  }
  html body .tygh-content .ab-fn-first-level > .ab-fn-first-level-item:nth-child(even) {
    justify-self: end;
  }
  body .ut2-pb__main-content-box { padding-top: 99px !important; }
  body .rvs-buybox-manufacturing { min-height: 69px; }
  body:has(.ut2-pb__main-content-box) .cm-ut2-block-loader.ut2-block-loader-products {
    --ab-skeleton-height: 534px !important;
    min-height: 534px !important;
  }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="product"] { height: 600px; min-height: 600px; max-height: 600px; overflow: hidden; }
  body .rvs-product-loader-reserved[data-rvs-loader-kind="home"][data-rvs-loader-index="2"] { height: 541px; min-height: 541px; max-height: 541px; }
}

/* Новости тоже заменяются lazy-блоком. Постоянный резерв не даёт подвалу
   прыгнуть в viewport в момент подстановки трёх карточек. */
body .rvs-blog-loader-reserved[data-rvs-loader-kind="home"] {
  height: 290px;
  min-height: 290px;
  max-height: 290px;
  overflow: hidden;
}

@media (max-width: 767px) {
  body .rvs-blog-loader-reserved[data-rvs-loader-kind="home"] {
    height: 388px;
    min-height: 388px;
    max-height: 388px;
  }
}
