@charset 'UTF-8';
@import url(//fonts.googleapis.com/css?family=Open+Sans:400italic,600,800,400|Open+Sans+Condensed:700&subset=cyrillic-ext,latin);
.bar-fake { background:#FFEB9B;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px;animation:nprogress-bar 9000ms linear infinite; }
@keyframes nprogress-bar {
  0% {
    transform: translate3d(-99.46933082%, 0px, 0px);
  }
  100% {
    transform: translate3d(-1.46933082%, 0px, 0px);
  }
}

@font-face {
    font-family: 'icon';
    src:    url('fonts/icon.eot?c0slsi');
    src:    url('fonts/icon.eot?c0slsi#iefix') format('embedded-opentype'),
        url('fonts/icon.ttf?c0slsi') format('truetype'),
        url('fonts/icon.woff?c0slsi') format('woff'),
        url('fonts/icon.svg?c0slsi#icon') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"], .b-share-icon_linkedin, .cart .wa-form .wa-field .wa-value.buttons {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-in:before, .b-share-icon_linkedin:before {content:"\e91b";}
.icon-request:before{content:"\e91c";}
.icon-strelka:before{content:"\e91d";}
.icon-tick:before{content:"\e91e";}
.icon-menu:before{content:"\e90b";}
.icon-bm:before{content:"\e900";}
.icon-bottom:before{content:"\e901";}
.icon-close:before{content:"\e902";}
.icon-left:before{content:"\e903";}
.icon-right:before{content:"\e904";}
.icon-top:before{content:"\e905";}
.icon-cart:before{content:"\e906";}
.icon-class:before{content:"\e907";}
.icon-home:before{content:"\e908";}
.icon-like:before{content:"\e909";}
.icon-lock:before{content:"\e90a";}
.icon-ok:before{content:"\e90c";}
.icon-rub:before{content:"\e90d";}
.icon-search:before{content:"\e90e";}
.icon-spec:before{content:"\e90f";}
.icon-support:before{content:"\e910";}
.icon-tel:before{content:"\e911";}
.icon-user:before{content:"\e912";}


/* Reset
-------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, /* ol, ul, li, */ fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, credentials, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; }
article, aside, credentials, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
html { overflow-y:scroll; }

/* Common HTML elements, fonts, and colors
------------------------------------------ */
html,
body { width: 100%; min-height: 100%; font-family:'Open Sans', Helvetica, Arial, sans-serif; font-size: 13px; background: #fff; color: #39454b; }
a { color: #990126; outline:0 none; }
a:focus { outline:none; outline-offset:-4px; }
a:hover { color: #990126 !important; } 
input[type="button"]::-moz-focus-inner { border: 0; }
input[type="submit"]::-moz-focus-inner { border: 0; }
a img { border: 0; }
p, dl, hr, h1, h2, h3, h4, h5, h6, ol, ul, pre, table, address, fieldset, blockquote { margin-bottom: 20px; line-height: 1.3em; font-size: 14px; }
h1, h2, h3 { font-weight: normal; text-transform: uppercase; }
h1 { font-size: 2.2em; text-align: center; text-transform: uppercase; margin-bottom: 26px; }
h1 a { text-decoration:none; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.45em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; }
h1, h2, h3, h4, h5, h6 { line-height:1.2em; font-family: 'Open Sans Condensed', sans-serif; color: #130A4D; }
ul, ol { padding-top:0; }
ol { list-style: decimal; }
input, textarea, select { margin:0; } 
input, textarea { font-size: 1em; color: #000; font-family: Helvetica, Arial, sans-serif; }
input[type="button"]:focus { outline:none; outline-offset:-2px; }
fieldset { border:1px solid #bbb; padding:10px; position:relative; background:#e9e9e9; margin-bottom:10px; }
legend { font-size:1.1em; padding:.4em .8em; background:#fff; background:none;
border:1px solid #bbb; border:none
}
fieldset p label { width:98%; }
fieldset p input[type="text"] { width:98%; }
fieldset p select { width:99%; }
blockquote { color: #555; font-size:0.9em; padding:20px; background: #f3f3f3; border-left: 2px solid #ccc; }
blockquote cite { font-size: 0.9em; }
hr { background-color: #ccc; height: 1px; border: 0; }

/* Misc elements
---------------- */
.block { padding: 10px; }
.inline-link { text-decoration: none !important; }
.inline-link b { border-bottom: 1px dotted; font-weight: normal; position: relative; top: -0.13em;}
.inline-link b i { font-style: normal; position: relative; top: 0.13em;}
.small { font-size: 0.9em; }
.large { font-size: 1.2em; }
.bold { font-weight: bold; }
.highlighted { background:  #ffc; }
.hint { color: #aaa; font-size: 0.9em; }
.hint a,
.hint:visited,
.hint a:visited { color: #aaa; }
.gray { color: #aaa; }
.float-left { float: left; }
.float-right { float: right; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.clear-left { clear: left; }
.clear-right { clear: right; }
.clear-both { clear: both; }
.clearfix:after { content: ""; display: table; clear: both; }
.clearfix { zoom: 1; }
.shadowed { -moz-box-shadow: 0 5px 15px #aaa; -webkit-box-shadow: 0 5px 15px #aaa; box-shadow: 0 5px 15px #aaa; }
.nowrap { white-space: nowrap; }

.flex { display: -webkit-flex; display: -ms-flexbox; display: flex; }
.flex.middle { -webkit-box-align: center; -moz-box-align: center; -o-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
.flex.wrap { -webkit-box-lines: multiple; -moz-box-lines: multiple; -o-box-lines: multiple; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.flex.full-line { -webkit-box-pack: justify; -moz-box-pack: justify; -o-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }

/* Common layout
------------------------------ */
.sidebar.left290px { width: 260px; float: left; }
.content.left290px { margin-left: 290px; }

/* Assembly (узлы со схемой) — двухколоночный блок-карточка */
.assembly-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px; 

    max-width: 1150px;        /* чтобы не растягиваться шире контента */
    margin: 0 auto 40px;      /* выравниваем по центру и даём отступ снизу */
    padding: 20px;
    border: 1px solid #eee;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Левая колонка – схема: не режем по высоте */
.assembly-diagram {
    flex: 0 0 48%;
    display: block;
    overflow: visible;
    max-height: none;
}

.assembly-diagram img {
    width: 100%;
    height: auto;
    max-height: none;
    display: block;
    object-fit: contain;
}

/* Текст (N.A.R.O.) ниже схемы */
.assembly-description {
    margin-top: 16px;
}

/* Правая колонка – список деталей */
.assembly-parts {
    flex: 1;
    overflow: visible;     /* важно */
    max-height: none;      /* важно */
    margin-left: -10px;
    margin-top: -20px;
}

/* ВОТ ТУТ будет скролл */
.parts-table-wrapper {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Артикул: не переносить */
.assembly-parts table th:nth-child(2),
.assembly-parts table td:nth-child(2) {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

/* Листовая БЕЗ позиции: артикул в 1-й колонке */
.assembly-wrapper--single .assembly-parts table th:nth-child(1),
.assembly-wrapper--single .assembly-parts table td:nth-child(1) {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

/* Унификация шрифтов в таблице деталей узла */

.assembly-parts table {
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}

/* Заголовки колонок – пусть остаются чуть жирнее */
.assembly-parts table th {
    font-size: 13px;
    font-weight: 700;
    color: #333;
}

/* Все обычные ячейки — один стиль: чёрный, не слишком жирный */
.assembly-parts table td {
    font-size: 13px;
    font-weight: 400;
    color: #222;
}

/* Позиция, артикул, цена и т.п. – такой же обычный текст */
.assembly-parts table td:nth-child(1),  /* Позиция */
.assembly-parts table td:nth-child(2),  /* Артикул */
.assembly-parts table td:nth-child(3),  /* Фото */
.assembly-parts table td:nth-child(5)   /* Цена (и др. числа) */
{
    font-weight: 400 !important;
    color: #222 !important;
}

/* Наименование – красным и чуть жирнее, но уже не как заголовок */
.assembly-parts table td:nth-child(4),
.assembly-parts table td:nth-child(4) a {
    color: #990126 !important;
    font-weight: 600 !important;
    text-decoration: none;
}

/* 1) Не фиксируем всю таблицу жёстко — пусть "Наименование" растёт */
.assembly-parts table.table.list.parts-table {
    width: 100%;
    table-layout: auto; /* вместо fixed */
}

/* 2) Цена всегда в одну строку + выравнивание */
.assembly-parts table.table.list.parts-table th:nth-child(5),
.assembly-parts table.table.list.parts-table td:nth-child(5) {
    white-space: nowrap;
    text-align: right;
    width: 95px;          /* достаточно для "5 820 ₽" */
}

/* 3) Служебные колонки — не "width", а "max-width" (не душим таблицу) */
.assembly-parts table.table.list.parts-table th:nth-child(1),
.assembly-parts table.table.list.parts-table td:nth-child(1) {
    max-width: 60px;
    white-space: nowrap;
    text-align: center;
}

.assembly-parts table.table.list.parts-table th:nth-child(2),
.assembly-parts table.table.list.parts-table td:nth-child(2) {
    max-width: 150px;
    white-space: nowrap;
}

.assembly-parts table.table.list.parts-table th:nth-child(3),
.assembly-parts table.table.list.parts-table td:nth-child(3) {
    max-width: 70px;
    text-align: center;
}

/* 4) Наименование: разрешаем перенос, но не делаем "колонку-иголку" */
.assembly-parts table.table.list.parts-table th:nth-child(4),
.assembly-parts table.table.list.parts-table td:nth-child(4) {
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere; /* если встречаются длинные токены */
}

/* Единая вертикальная центровка строк */
.assembly-parts table.table.list.parts-table td,
.assembly-parts table.table.list.parts-table th {
    vertical-align: middle;
}

/* Убираем блочность внутри ячеек, которая ломает базовую линию */
.assembly-parts table.table.list.parts-table td:nth-child(2) a,
.assembly-parts table.table.list.parts-table td:nth-child(4) a {
    display: inline;         /* вместо block */
    line-height: 1.2;        /* единообразно */
}

/* Артикул — строго в одну строку */
.assembly-parts table.table.list.parts-table td:nth-child(2) {
    white-space: nowrap;
}

/* Наименование: первая строка "в линию", переносы ниже — аккуратно */
.assembly-parts table.table.list.parts-table td:nth-child(4) {
    line-height: 1.2;
    white-space: normal;
}

/* Если внутри "Наименование" есть обёртки/спаны, которые делают block — гасим */
.assembly-parts table.table.list.parts-table td:nth-child(4) *,
.assembly-parts table.table.list.parts-table td:nth-child(2) * {
    vertical-align: baseline;
}


/* Липкий thead */
.table.list.parts-table {
    border-collapse: separate;
    border-spacing: 0;
}

.table.list.parts-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff; /* цвет фона шапки */
}


.sidebar.left340px { width: 340px; float: left; }
.content.left340px { margin-left: 340px; padding-left: 28px; }

.breadcrumbs { font-size: 1em; height: 33px; line-height: 33px; border-bottom: 2px solid #eee; margin-bottom: 26px; text-transform: uppercase; }
.content.left290px .breadcrumbs { margin-left: -30px; }
.breadcrumbs a, .breadcrumbs b { float: left; color: #333; display: block; padding: 0 15px; text-decoration: none; }
.breadcrumbs b { font-weight: 100; color: #B3B3B3; }
.breadcrumbs span.rarr { opacity: 0.5; float: left; display: block; height: 33px; width: 11px; margin: 0; background: url('img/rarr2.png') no-repeat; }
.breadcrumbs .icon-home { color: #694B2B; }

.container { width: 1150px; margin: 0 auto; padding: 0 25px 25px 25px; }
.container.paper { background: #fff; }

.sidebar.left { width: 170px; float: left; }
.sidebar.right { width: 190px; float: right; }
.content.left { margin-left: 200px; }
.content.right { margin-right: 200px; }
.content.right #page { margin-right: 50px; /* extra margin in case page tree is on the right */ }
.top-padded { padding-top: 50px; /* "due to heading" padding */ }

.fon { padding: 2.45em; color: #39454B; background: #ECECEC url('img/graylaminate.jpg') repeat; box-shadow:inset 0 -5px 10px 0 rgba(0, 0, 0, 0.2), inset 0 10px 10px -5px rgba(0, 0, 0, 0.2); }
.fon h3 { text-align: center; }
.fon .bx-wrapper .bx-viewport { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border: 0; left: 0; background: transparent; }
.fon .bx-wrapper img { width: auto; display: inline-block; }

.fon-white { padding: 2.45em; }

.welcome { text-align: center; font-size: 110%; padding: 80px 20px 150px; }

#header { border-top: 2px solid #990126; }
#header .logo { float: left; }

#header #nav ul.menu-h { margin: 0 25px; }
#header #nav ul.menu-h li a { /*height: 86px; line-height: 86px;*/ line-height: 1.6em; text-transform: uppercase; font-family:'Open Sans Condensed', sans-serif; text-decoration: none; font-size: 16px; color: #333; position: relative; }
#header #nav ul.menu-h li.selected a { color: #990126; }
#header #nav ul.menu-h li.selected a:before { content: ''; height: 2px; position: absolute; top: -2px; left: 0; right: 0; background: #ccc; }

#header .container { padding: 0 25px; }
#header .flex { padding: 20px 0; }
#header .menu-block { color: #fff; height: 54px; }
.menu-block .menu-top { background: #A27146 url("img/menu.jpg") repeat 50%; box-shadow: inset 0 1px 2px 0 rgba(224, 198, 158, 0.44); }
.menu-block.fixed .menu-top { height: 54px; position: fixed; left: 0; right: 0; top: 0; z-index: 9999; }
#header .menu-block a { color: #fff; text-decoration: none; }
#header .menu-block .mcont a:hover { color: rgb(235, 212, 139) !important; }
#header .menu-block .search form { width: 420px;  position: relative; top: 0.05em; }
#header .menu-block .search form input { padding: 0 40px 0 15px; color: #fff; box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, 0.1); border-top: 1px solid rgba(117, 76, 44, 0.79); border-bottom: 1px solid rgba(195, 158, 109, 0.68);}
#header .menu-block .search form button { font-size: 18px; width: 38px; height: 38px; padding: 0; margin: 0; background: transparent; color: #fff; border: 0; outline: 0; position: absolute; right: 0; top: 0; border-radius: 0 3px 3px 0; cursor: pointer; }
#header .menu-block .search form input:-webkit-autofill { -webkit-box-shadow: inset 0 0 0 50px #D8BA8A !important; -webkit-text-fill-color: #fff !important; color: #fff !important; }
#header .menu-block .search form input::-webkit-input-placeholder {color:#fff;}
#header .menu-block .search form input::-moz-placeholder          {color:#fff;}/* Firefox 19+ */
#header .menu-block .search form input:-moz-placeholder           {color:#fff;}/* Firefox 18- */
#header .menu-block .search form input:-ms-input-placeholder      {color:#fff;}

#header .menu-block .col { min-width: 130px; height: 44px; padding-top: 10px; float: right; }
#header .menu-block .col i { font-size: 18px; padding: 8px 0 0 10px; }
#header .menu-block .col i.userpic20 { border: 1px solid #fff; border-radius: 50%; padding: 0; height: 20px; width: 20px; }
#header .menu-block .mcont { margin-left: 40px; }
#header .menu-block .mcont .bold { font-size: 16px; text-transform: uppercase; font-family: 'Open Sans Condensed', sans-serif; }
#header .menu-block #cart { margin-left: 20px; }

#header .menu-block #compare-leash a strong { background: #990126; display: inline-block; padding: 1px 3px; font-weight: 600; -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; }

.search { padding: 8px 0; }
.search input { outline: 0; border: 0; background: rgba(0,0,0,0.3); width: 100%; height: 38px; line-height: 38px; font-size: 14px; box-sizing: border-box; border-radius: 4px; 
    -moz-appearance:none;
    -webkit-appearance:none;
}

.catalog { width: 260px; line-height: 54px; height: 54px; margin-right: 30px; }
.catalog i.icon-menu { font-size: 18px; margin-right: 10px; }
.catalog span { font-size: 22px; text-transform: uppercase; font-family: 'Open Sans Condensed', sans-serif; }
.catalog span i { font-size: 8px; vertical-align: middle; position: absolute; right: 20px; top: 25px; }

#header .menu-block .catalog { position: relative; }
#header .menu-block .catalog .click { padding: 0 18px; height: 54px; }
#header .menu-block .drop.catalog .click:hover, #header .menu-block .drop.catalog .click.active { cursor: pointer; background: rgba(0,0,0,0.2); } 
#header .menu-block .catalog #cssmenu { display: none; position: absolute; left: 0; right: 0; /*top: -99999em; opacity:0;*/ top: 100%; opacity:1; -webkit-transition:0.35s linear opacity; z-index: 99999; }
#header .menu-block .catalog:hover #cssmenu { top: 100%; opacity:1; }
#cssmenu ul { background: #F7F7F7; }
#cssmenu ul li a { color: #333 !important; text-decoration: none; }
/*#cssmenu ul li.has-sub.open ul { display: block; }*/

.catalog #cssmenu {-webkit-box-shadow: 0px 0px 16px 1px rgba(102,102,102,0.28);
-moz-box-shadow: 0px 0px 16px 1px rgba(102,102,102,0.28);
box-shadow: 0px 0px 16px 1px rgba(102,102,102,0.28);
}
#cssmenu, #cssmenu ul, #cssmenu ul li, #cssmenu ul li a{border:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;line-height:1;list-style:none outside none;margin:0;padding:0;position:relative;}
#cssmenu ul ul { display:none; }
#cssmenu > ul > li > a { font-size:13px; font-weight:600; padding: 15px 30px 15px 20px; z-index:2; cursor:pointer;text-transform:uppercase;border-bottom:2px solid #FFFFFF; }
#cssmenu > ul > li > a:hover, #cssmenu > ul a.selected, #cssmenu > ul > li.open > a { background:#EDE1D5; }
#cssmenu > ul a.selected:after { content: ''; width: 5px; height: 5px; background: #990126; display: block; position: absolute; left: 10px; top: 50%; margin-top: -2.5px; }
#cssmenu > ul > li:last-child > a, #cssmenu > ul > li.last > a { border-bottom: 2px solid #990126; }
#cssmenu > ul > li > a:hover > span:after, #cssmenu > ul > li.active > a > span:after, #cssmenu > ul > li.open > a > span:after{border-color:#EEEEEE;}
#cssmenu ul ul li a { background:#EDEDED; cursor:pointer; font-size:13px; padding:10px 20px; z-index:1; }
#cssmenu ul ul li:hover > a, #cssmenu ul ul li.open > a, #cssmenu ul ul li.active > a { background: none repeat scroll 0 0 #DACBBD; }
#cssmenu ul ul ul li a { padding-left:30px; }
#cssmenu > ul > li > ul > li:last-child > a, #cssmenu > ul > li > ul > li.last > a{border-bottom:0 none;}
#cssmenu > ul > li > ul > li.open:last-child > ul > li:last-child > a{border-bottom:0 none;}
#cssmenu ul ul li.has-sub > a:after { content:""; font-family: 'icon' !important; font-size: 9px; display:block; position:absolute; right:20px; top:11.5px; z-index:10; }
#cssmenu ul ul li.active > a:after, #cssmenu ul ul li.open > a:after, #cssmenu ul ul li > a:hover:after { border-color:#FFFFFF; }
.holder { position:absolute; right:20px; font-size: 9px; }

#tel {float:right;height:50px;margin:0 30px;line-height:1em;position:relative; padding: 0; text-align:center;font-size:1.2em;}

#tel:before { position:absolute; right:100%; top: calc(50% - 10px); margin-right:10px; color:#990126; font-size:1.9em; }

#tel a {text-decoration:none;}
#tel .telnumber { color: #333; margin: 4px 0 10px; font-weight:700; font-size:1.6em; display:block;font-family:'Open Sans Condensed', sans-serif; }
.telnumber_m {display:none;font-size:2.2em;text-align:center;text-decoration:none;}
#tel .callback { cursor: pointer; font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-size: 1em; color:#990126; border-bottom:2px dashed #990126; }
	
#header h2 { float: left; text-transform: uppercase; margin-top: 25px; }
#header h2 a { color: #000; text-decoration: none; }
#header ul#wa-apps { margin: 20px -10px 0 0; padding: 0; float: right; }
#header ul#wa-apps li { float: left; text-transform: uppercase; list-style: none; margin: 0; padding: 3px 0; }
#header ul#wa-apps li a { display: block; padding: 7px 10px 5px; margin-right: 10px; color: #333; font-weight: bold; text-decoration: none; }
#header ul#wa-apps li.selected a { background: #000; font-weight: bold; color: #fff; }
#header ul#wa-apps li.selected a:hover { color: #fff !important; }
#header .float-right.hint a { margin-right: 10px; }
#header .float-right.hint strong { color: #000 /* username of the authorized user */; margin-right: 5px; }

#header #cart a { display: block; }
#header #cart a strong { text-decoration: underline; font-weight: 500; }

#main { clear: both; line-height: 1.5em; margin: 0; }

#footer { clear: both; margin-top: 10px; font-size: 0.9em; color: #777; padding-bottom: 40px; }
#footer #sub-links { margin-left: 60px; }
#footer #sub-links ul { list-style: none; padding: 0; margin: 0; }
#footer #sub-links ul li { float: left;  padding: 0 15px 0 0; }
#footer #poweredby {  text-align: center; float: right; padding-top: 0; }
#footer #poweredby a.dots { font-size: 0.8em; text-decoration: none; display: block; width: 54px; height: 9px; background: url("/wa-content/img/dots/all-dots-default-order-shadowed.png") no-repeat 0 3px; padding-top: 7px; }

#contact {padding-bottom:0;background:#000000 url('img/footer.jpg') no-repeat;background-position:bottom center;}
#contact .call_now{font-size:1.4em;margin:0;padding:0;}
#contact .telnumber{font-size:2em;font-family:'Open Sans Condensed', sans-serif;margin-bottom:0;}
#contact .box{position:relative;bottom:0;-moz-transition:all 1s ease;-webkit-transition:all 1s ease;-o-transition:all 1s ease;-ms-transition:all 1s ease;transition:all 1s ease;-moz-transform:translateZ(0);-webkit-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);}
#contact.inactive .box{bottom:-30em;}
#contact .container { padding: 25px; padding-bottom: 50px; }
.dark { color: #fff; } .dark a { color: #fff; }

table th { color: #333; font-size: 12px; }
table th,
table td { padding: 5px; }

input[type="button"], input[type="submit"], button, .button,
.plugin_arrived-button > a { font-weight: 500; background-color:#990126;border:0;border-bottom:2px solid #73001D;border-radius:4px;color:#FFFFFF;cursor:pointer;display:inline-block; height: 30px; line-height: 30px; outline:0;padding:0 1em;position:relative;font-size:1.1em;text-align:center;text-decoration:none;-moz-appearance:none;-webkit-appearance:none;-o-appearance:none;-ms-appearance:none;appearance:none;-moz-transition:background-color 0.2s ease-in-out;-webkit-transition:background-color 0.2s ease-in-out;-o-transition:background-color 0.2s ease-in-out;-ms-transition:background-color 0.2s ease-in-out;transition:background-color 0.2s ease-in-out; }
.button .icon-left { font-size: 0.8em; margin-right: 10px; }

input[type="button"]:hover, input[type="submit"]:hover, button:hover, .button:hover,
.plugin_arrived-button > a:hover { background-color:#D00033;  }
.button:visited, .button:hover {}
.button.down{width:5em;height:5em;line-height:4.5em;padding:0;background-image:url('css/images/dark-arrow.svg');background-position:center center;background-repeat:no-repeat;text-indent:-10em;overflow:hidden;}
.button.down.anchored{bottom:0;border-bottom:0;border-radius:3em 3em 0 0;height:4.5em;margin-left:-2.5em;}
.button.anchored{position:absolute;left:50%;}
.button:active { /*background-color:#88B583;*/ }
.button.style2 { background-color:transparent;border:solid 2px #E5E6E7;color:inherit; }
.button.style2:hover {background-color:rgba(145, 146, 147, 0.035);}
.button.style2.down {background-image:url('css/images/arrow.svg');}

.button.gray { background: #EDEDED; color: #333; border-bottom: 2px solid #999; }
.button.gray:visited,
.button.gray:hover { color: #333!important; background: #DEDEDE; } 
.button.gray i { font-style: normal; }
.more i {display:inline-block;margin-left:10px;background:#ccc; padding:4px 7px 2px;color:#FFFFFF;border-bottom:2px solid #BABABA;border-radius:3px;}

/* Custom selected menu element colors for different Webasyst apps
------------------------------------------------------------------ */
body#site #header ul#wa-apps li.selected a { background: #0099FF; }
body#blog #header ul#wa-apps li.selected a { background: #EEBB00; }
body#photos #header ul#wa-apps li.selected a { background: #8866CC; }
body#shop #header ul#wa-apps li.selected a { background: #66CC33; }
body#qa #header ul#wa-apps li.selected a { background: #FF6600; }

/* Menus
-------- */
ul.menu-v { margin: 0; padding: 0; }
ul.menu-v li { list-style: none; padding: 0; margin: 0; line-height: 1em; }
ul.menu-v li a { padding: 5px 6px; display: block; text-decoration: none; }
ul.menu-v li.selected a { color: #000; background: #eee; }
ul.menu-v li.selected ul li a { background: inherit; color: #03c; text-decoration: underline; }
ul.menu-v li ul.menu-v { margin-left: 10px; margin-top: 5px; margin-bottom: 15px; }
ul.menu-v li ul.menu-v li a { padding: 2px 6px; font-size: 0.9em; }
ul.menu-v li ul.menu-v li ul.menu-v li a { font-size: 0.8em; }

ul.menu-h { margin: 0 0 15px; padding: 0; }
ul.menu-h li { list-style: none; display: inline-block; display:block\9; float:left\9; /* ie8 hack */ }
ul.menu-h li a { display: inline-block; padding: 0px 15px; display:block\9; float:left\9; /* ie8 hack */ }
ul.menu-h li a img.icon16 { position: relative; top: 3px; left: -3px; }
ul.menu-h li a i.icon16 { margin-top: 0em; }
ul.menu-h li.selected a { color: #000; text-decoration: none; }
ul.menu-h li.selected ul * { background: #fff !important; }

ul.mynav { background: #F7F7F7; }
ul.mynav li a { font-size:13px; font-weight:600;padding: 15px 30px 15px 20px; z-index:2; cursor:pointer;text-transform:uppercase;border-bottom:2px solid #FFFFFF;}

.dropdown .popup { display: none; background: #eee; box-shadow: 0 4px 7px -5px rgba(0, 0, 0, 0.4); padding: 20px; min-width: 150px; font-size: 115%; }
.dropdown:hover .popup { display: block; position: absolute; z-index: 1312; }

/* Sign up & Login forms
------------------------ */
.wa-auth-adapters ul { padding: 0; min-height: 16px; }
.wa-auth-adapters ul li { list-style: none; float: left; padding: 0 15px 0 0; }
.wa-auth-adapters ul li a,
.wa-auth-adapters ul li span { display: block; padding: 0px 5px; }
.wa-auth-adapters ul li a img,
.wa-auth-adapters ul li span img { position: relative; top: 3px; left: -3px; }
.wa-auth-adapters p { clear: left; color: #888; font-size: 0.9em; width: 40%; }
.wa-auth-adapters.wa-connect { margin-top: 20px; }

.wa-form { margin: 0 auto; width: 500px; display: inline-block; }
.wa-form:after { content: ""; display: table; clear: both; }
.wa-form .wa-field { clear: left; margin: 9px; padding-top: 3px; }
.wa-form .wa-field .wa-name { float: left; width: 155px; padding-top: 0.05em; padding-bottom: 10px; font-size: 0.95em; }
.wa-form .wa-field.wa-separator { height: 10px; }
.wa-form .wa-field .wa-value { margin-left: 180px; margin-bottom: 5px; position: relative; }
.wa-form .wa-field .wa-value input.wa-error { border: 2px solid #D00033; }
.wa-form .wa-field .wa-value .wa-error-msg { font-size: 0.9em; color: #D00033; display: block; }
.wa-form .wa-field .wa-value input[type="text"],
.wa-form .wa-field .wa-value input[type="email"],
.wa-form .wa-field .wa-value input[type="password"],
.wa-form .wa-field .wa-value select { width: 30%; min-width: 300px;  margin:0;}
.wa-form .wa-field .wa-value textarea { min-width: 300px; height: 70px; }
.wa-form .wa-field .wa-value input.wa-captcha-input { width: 100px; min-width: 0; }
.wa-form .wa-field .wa-value label { display: block; }
.wa-form .wa-field .wa-value .wa-captcha img { margin-left: 0; }
.wa-form .wa-field .wa-value .errormsg { margin-left: 0; }
.wa-form .wa-field .wa-value.wa-submit { margin-top: 10px; }
.wa-form .wa-field .wa-value p { line-height: 1.6em; margin-bottom: 23px; position: relative; font-size: 1em; } 
.wa-form .wa-field .wa-value p label { display: block; margin: 0; }
.wa-form .wa-field .wa-value p span { color: #777; font-size: 0.9em; display: block; }
.wa-form .wa-field .wa-value p i.icon16 { float: left; left: -20px; margin-top: 2px; position: absolute; }
.wa-form .wa-field .wa-value p input { display: block; margin-bottom: 2px; }
.wa-form .wa-field .wa-value p input[type="radio"],
.wa-form .wa-field .wa-value p input[type="checkbox"] { display: inline; }
.wa-form .wa-field .wa-value p .field.wa-required span:after { content: " *"; color: #faa; }
.wa-form .wa-field.wa-required .wa-name:after { content: " *"; color: #faa; }

.wa-captcha { padding: 7px 0 10px; }
.wa-captcha p { clear: left; margin: 0; }
.wa-captcha strong { font-size: 1.2em; }
.wa-captcha p img { float: left !important; margin-right: 5px; margin-top: -8px; }
.wa-captcha .wa-captcha-refresh { font-size: 0.8em; text-decoration: underline; color: #aaa; }
.wa-captcha .wa-captcha-input { display: inline !important; }
.wa-captcha .errormsg { display: inline; margin-left: 10px; }

input.error, textarea.error { border: 1px solid #D00033 !important; }
.errormsg { color: #D00033; margin-left: 170px; display: block; }

input[type="text"], input[type="email"], input[type="password"], select { background-color: rgba(237, 244, 245, 0.61); border: 1px solid #ccc; border-radius: 3px; line-height: 38px; height: 38px; box-sizing: border-box; padding: 0 10px; }
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus { background-color: rgba(244, 248, 249, 0.55); border: 1px solid #CFAD8B; outline: 0; 
box-shadow: 0px 0px 8px 1px rgba(255, 205, 34, 0.23);
-webkit-box-shadow: 0px 0px 8px 1px rgba(255, 205, 34, 0.23);
-moz-box-shadow: 0px 0px 8px 1px rgba(255, 205, 34, 0.23);
}
textarea  { box-sizing: border-box; padding: 10px; background: rgba(237, 244, 245, 0.61); border: 1px solid #ccc; border-radius: 3px; resize: vertical; }
select { background-image: url('img/select.png'); background-repeat: no-repeat; background-position: right; padding-right: 24px!important;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none; 
}

/* Dialog */
.dialog { display: none; }
.dialog-background { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; opacity: 0.8; filter: alpha(opacity=80); z-index: 99; }
.dialog-window { position: fixed; top: 20%; left: 20%; right: 20%; bottom: 20%; background: #fff; opacity: 1; z-index: 100; border: 9px solid #f3f3f3; /*overflow: hidden;*/ -moz-box-shadow: 0px 0px 70px #bbb; -webkit-box-shadow: 0px 0px 70px #bbb; box-shadow: 0px 0px 70px #bbb; min-width: 500px; min-height: 300px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; }
.dialog.small, .dialog.large { font-size: 1em !important; }
.dialog.small .dialog-window { top: 35%; left: 35%; right: 35%; bottom: 35%; min-width: 260px; min-height: 160px; }
.dialog.large .dialog-window { top: 10%; left: 5%; right: 5%; bottom: 10%; min-width: 700px; min-height: 400px; }
.dialog.width100px .dialog-window { width: 100px; min-width: 100px; }
.dialog.width150px .dialog-window { width: 150px; min-width: 150px; }
.dialog.width200px .dialog-window { width: 200px; min-width: 200px; }
.dialog.width250px .dialog-window { width: 250px; min-width: 250px; }
.dialog.width300px .dialog-window { width: 300px; min-width: 300px; }
.dialog.width350px .dialog-window { width: 350px; min-width: 350px; }
.dialog.width400px .dialog-window { width: 400px; min-width: 400px; }
.dialog.width450px .dialog-window { width: 450px; min-width: 450px; }
.dialog.width500px .dialog-window { width: 500px; min-width: 500px; }
.dialog.width550px .dialog-window { width: 550px; min-width: 550px; }
.dialog.width600px .dialog-window { width: 600px; min-width: 600px; }
.dialog.width650px .dialog-window { width: 650px; min-width: 650px; }
.dialog.height100px .dialog-window { height: 100px; min-height: 100px; }
.dialog.height150px .dialog-window { height: 150px; min-height: 150px; }
.dialog.height200px .dialog-window { height: 200px; min-height: 200px; }
.dialog.height250px .dialog-window { height: 250px; min-height: 250px; }
.dialog.height300px .dialog-window { height: 300px; min-height: 300px; }
.dialog.height350px .dialog-window { height: 350px; min-height: 350px; }
.dialog.height400px .dialog-window { height: 400px; min-height: 400px; }
.dialog.height450px .dialog-window { height: 450px; min-height: 450px; }
.dialog.height500px .dialog-window { height: 500px; min-height: 500px; }
.dialog-window > form {height: 100%}
.dialog-content-indent { padding: 20px; }
.dialog .dialog-window .icon-close.cancel { position: absolute!important; left: 100%; top: 0; margin-left: 20px; cursor: pointer; font-size: 18px; color: #607073 !important; }

#feedback-dialog .dialog-window { max-width: 400px; min-width: 350px; height: 400px; }
#feedback-dialog .callback-body { margin: 20px; }
#feedback-dialog .wa-form .wa-field { float: left; clear: none; width: 100%; }
#feedback-dialog .wa-form .wa-field.none .wa-value input[type="text"] { min-width: 300px; }
#feedback-dialog .wa-form .wa-field .wa-value p { float: left; margin-bottom: 5px; }
#feedback-dialog input[type="submit"] { background-color: #607073; margin: 0; margin-left: -2px; line-height: 38px; height: 38px; border-bottom: 2px solid #434E50; }
#feedback-dialog .loading { position: absolute; top: 8px; right: 100%; margin-right: 10px; }
#feedback-dialog .wa-form .wa-field.none .wa-value textarea { min-width: 300px; }
.callback-body .wa-form .wa-field.none .wa-name { display: none; }
.callback-body .wa-form .wa-field.none .wa-value { margin-left: 0; }
.callback-body .wa-form .wa-field .wa-value.buttons { margin-left: 0px; text-align: right; }

.expert-help .wa-form { width: 400px; }
.expert-help .wa-form .wa-field { float: left; clear: none; width: auto; }
.expert-help .wa-form .wa-field.none .wa-value input[type="text"] { min-width: 300px; }
.expert-help .wa-form .wa-field .wa-value p { float: left; margin: 0; }
.expert-help input[type="submit"] { background-color: #607073; margin: 0; margin-left: -2px; line-height: 38px; height: 38px; border-radius: 0 4px 4px 0; border-bottom: 2px solid #434E50; }
.expert-help .loading { position: absolute; top: 8px; right: 100%; margin-right: 10px; }

/* Poptrox
-------------- */
.poptrox-popup .closer { color: #607073 !important; font-size: 40px !important; font-weight: 600; top: -10px !important; right: -50px !important; }
.poptrox-popup { border: 9px solid #f3f3f3; -moz-box-shadow: 0px 0px 70px #bbb; -webkit-box-shadow: 0px 0px 70px #bbb; box-shadow: 0px 0px 70px #bbb; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; }
.poptrox-popup .nav-next,
.poptrox-popup .nav-previous { opacity: 1! important; }
.poptrox-popup .nav-next div { left: 100%; margin-left: 20px; }
.poptrox-popup .nav-previous div { right: 100% !important; left: auto !important; margin-right: 20px; }
.poptrox-popup .nav-next div,
.poptrox-popup .nav-previous div { background: #990126; width:34px !important; height:32px !important; color:#FFFFFF;  line-height: 0; text-align: center; border-bottom:2px solid #73001D; border-radius:4px;
margin-top: -27px!important; text-indent: -99999px; font-family: 'icon' !important; font-size: 14px !important; }
.poptrox-popup .nav-next div:after { line-height: 32px; content: '\e904'; text-indent: 0; display: block; }
.poptrox-popup .nav-previous div:after { line-height: 32px; content: '\e903'; text-indent: 0; display: block; }
.poptrox-popup .nav-next div:hover,
.poptrox-popup .nav-previous div:hover { background-color: #D00033; }
.poptrox-popup .button { font-size: 13px; }

.mail-button { cursor: pointer; position:fixed; bottom:0; background: #996633; right: 13px; color:#FFF; font-weight:600; line-height:40px; z-index: 888; height: 0; width: 220px; text-align: center;text-decoration: none;border-radius: 4px 4px 0 0; }
.mail-button:hover { background: #845526; }

/* 16x16 Icons
-------------- */
i.icon16 { background-repeat:no-repeat; height:16px; width:16px; display:inline-block; text-indent:-9999px; text-decoration:none!important; }
* i.icon16 { text-decoration:none!important; vertical-align:top; margin: 0.2em 0.25em 0 0; }
.icon16.loading { background-image: url('/wa-content/img/loading16.gif'); }
.icon16.rss { background-image: url("img/icons/rss.png"); }
.icon16.facebook { background-image: url("img/icons/facebook.png"); }
.icon16.twitter { background-image: url("img/icons/twitter.png"); }
.icon16.cart { background-image: url('img/icons/cart-full.png'); }
.icon16.cart.empty { background-image: url('img/icons/cart-empty.png'); }

.icon16.color { border-radius: 50%; border: 1px solid rgba(0,0,0,0.2); width: 14px; height: 14px; }

/* 10x10 Icons
-------------- */
i.icon10 { background-repeat:no-repeat; height:10px; width:10px; display:inline-block; text-indent:-9999px; text-decoration:none!important; }
* i.icon10 { text-decoration:none!important; vertical-align:top; margin: 0.2em 0.1em 0 0; }
.icon10.darr { background-image: url('img/icons/darr.png'); }

input::-webkit-input-placeholder       {opacity: 1; transition: opacity 0.3s ease;}
input::-moz-placeholder                {opacity: 1; transition: opacity 0.3s ease;}
input:-moz-placeholder                 {opacity: 1; transition: opacity 0.3s ease;}
input:-ms-input-placeholder            {opacity: 1; transition: opacity 0.3s ease;}
input:focus::-webkit-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input:focus::-moz-placeholder          {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-moz-placeholder           {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-ms-input-placeholder      {opacity: 0; transition: opacity 0.3s ease;}

::-webkit-search-cancel-button { -webkit-appearance: none; color: #fff; }
::-webkit-search-cancel-button:after { font-family: 'icon' !important; content:''; font-size: 10px; font-weight: 100; display:block; cursor: pointer; }

.share .b-share_theme_counter .b-share-btn__linkedin,
.share .b-share_theme_counter .b-share-btn__linkedin:hover { background: #0177b5; font-size: 1.3em; }
.share .b-share_theme_counter .b-share-icon { line-height: 24px; text-align: center;  color: #fff;}
.share .b-share_theme_counter .b-share__handle { background-color: #B27E4F; box-shadow: inset 0 -2px 10px 0 rgba(0, 0, 0, 0.33), 0 1px 10px 0 #000; }

/* ZEBRA
-------------------------------------------- */
ul.zebra { padding: 0; margin: 0; }
ul.zebra li { list-style: none; background: #fff; padding: 8px; }
ul.zebra a { text-decoration: none; }
ul.zebra li:nth-child(even) { background: #f0f0f0; }
ul.zebra li.critical { background: #fcc; }
table.zebra { border: 0; margin: 0; width: 100%; border-spacing: 0; border-collapse: collapse; }
table.zebra tr:nth-child(odd) td { background: #f0f0f0; }
table.zebra td { padding: 12px 24px; border-bottom: 1px solid #E2E2E2; vertical-align: middle; background: #fff;  }

.row{clear:both;}
.col{float:left;}
.col.w1{width:50%;}
.col.w2{width:33.33%;}
.col.w3{width:60%;}
.col.w4{width:40%;}
.col.w5{width:50%;}
.col.w6{width:30%;}


/* Карточки подкатегорий (90 XLi и др.) */

.sub-categories.sub-categories--cards {
    list-style: none;
    margin: 40px -15px 220px;     /* отступ сверху и до футера */
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: 50px;                /* ГЛАВНОЕ: вертикальный зазор между рядами */
}

/* Элементы сетки (li) */
.sub-categories.sub-categories--cards > li {
    box-sizing: border-box;
    width: 25%;
    padding: 0 15px;
}

/* Ссылка-карточка на всю высоту ячейки */
.sub-category-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}

/* Прямоугольное превью */
.sub-category-card__thumb {
    position: relative;
    width: 100%;
    height: 260px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 0 10px rgba(0,0,0,0.06);
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* Схема, если есть */
.sub-category-card__thumb img {
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Плейсхолдер BM */
.sub-category-card__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Open Sans Condensed', sans-serif;
    font-size: 42px;
    color: #d0d0d0;
    background: #fafafa;
}

.sub-category-card__placeholder-logo {
    border: 2px solid #dedede;
    border-radius: 6px;
    padding: 12px 18px;
}

/* Мини-список товаров (когда схемы нет) */
.sub-category-card__products {
    position: absolute;
    inset: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.2;
}

.sub-category-card__product {
    background: rgba(255,255,255,0.9);
    border-radius: 4px;
    padding: 4px 6px;
    border: 1px solid #e0e0e0;
}

.sub-category-card__product-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Заголовок карточки */
.sub-category-card__title {
    margin-top: 16px;             /* отступ между прямоугольником и подписью */
    font-family: 'Open Sans Condensed', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #990126;
    text-align: center;
}

/* Ховер-эффекты */
.sub-category-card__link:hover .sub-category-card__thumb {
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    border-color: #d0d0d0;
}

.sub-category-card__link:hover .sub-category-card__title {
    color: #b00030;
}

/* Планшет: 2 колонки */
@media screen and (max-width: 1150px) {
    .sub-categories.sub-categories--cards > li {
        width: 50%;
    }
}

/* Мобильный: 1 колонка */
@media screen and (max-width: 760px) {
    .sub-categories.sub-categories--cards > li {
        width: 100%;
    }
}

.pdf-contents { max-width: 980px; }
.pdf-contents__title { margin: 0 0 18px; font-size: 22px; font-weight: 700; }

.pdf-contents__list { list-style: none; padding: 0; margin: 0; }
.pdf-contents__item { padding: 10px 0; border-bottom: 1px solid #eee; }

.pdf-contents__link {
    display: flex;
    align-items: baseline;
    gap: 12px;
    text-decoration: none;
}

.pdf-contents__text { white-space: nowrap; }
.pdf-contents__dots {
    flex: 1 1 auto;
    border-bottom: 2px dotted #999;
    transform: translateY(-2px);
}
.pdf-contents__code { white-space: nowrap; }

.used-in-pos{
  display:inline-block;
  min-width: 2.2em;
  font-weight:700;
  margin-right:6px;
}

/* TABLET
========= */

@media screen and (min-width: 760px) and (max-width: 1024px) {
    #header .menu-block .search form { width: 270px; }
    .catalog { width: 200px; }
    #header #nav ul.menu-h li a { font-size: 14px; }
    #tel { font-size: 0.9em; }
    .container { width: 100%; }
}

/* MOBILE
========= */

@media screen and (max-width: 1150px) {   /* было 760px */

        /* Сбрасываем старые правила скрытия столбцов для таблиц запчастей */
    .parts-table th,
    .parts-table td {
        display: table-cell !important;
    }

    
    .container { width: 100%; }
    #header .menu-block .search form { width: 270px; }
    .catalog { width: 200px; }
    #header #nav ul.menu-h li a { font-size: 14px; }
    #tel { font-size: 0.9em; }

    /* Убираем левый блок "Закажите услугу специалиста" */
    .sidebar.left290px,
    .sidebar.left {
    display: none !important;
    }

    /* Контент растягиваем на всю ширину */
    .content.left290px,
    .content.left {
        margin-left: 0 !important;
        padding-left: 0;
    }

        /* дальше всё как было — таблица, колонки, пропорции */
    .parts-table th,
    .parts-table td {
        font-size: 12px;
        padding: 4px 6px;
    }



    /* Таблицы С позицией (есть столбец "Позиция"):
       скрываем только колонку "Фото" (3-я) */
    .parts-table:not(.parts-table--no-position) th:nth-child(3),
    .parts-table:not(.parts-table--no-position) td:nth-child(3) {
        display: none !important;
    }

    /* Таблицы БЕЗ позиции (.parts-table--no-position):
       порядок: 1) Артикул, 2) Фото, 3) Наименование, 4) Цена, 5) пустая.
       тут "Фото" — 2-я, её прячем */
    .parts-table.parts-table--no-position th:nth-child(2),
    .parts-table.parts-table--no-position td:nth-child(2) {
        display: none !important;
    }

        /* Одноколоночный узел без схемы на мобильных */
    .assembly-wrapper--single {
        display: block;
        max-width: 100%;
    }

    .assembly-wrapper--single .assembly-parts--single {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }


    .assembly-wrapper {
        max-width: 100%;
    }

    .assembly-diagram {
        flex: 0 0 45%;
    }

    .assembly-parts {
        flex: 0 0 55%;
    }

    .assembly-diagram img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    /* Карточки подкатегорий: на узких экранах по 2 в ряд */
    .sub-category-card {
        width: 50%;
    }
.sub-categories.sub-categories--cards {
        margin-bottom: 200px;
    
}


/* WIDE
========= */

@media screen and (min-width: 1300px) {


}

/* ФИКС: вертикальные отступы между рядами карточек подкатегорий
   и дополнительный запас до футера */
.sub-categories.sub-categories--cards {
    margin-top: 40px;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 260px;      /* запас до футера, можно подправить */
}

.sub-categories.sub-categories--cards > li {
    box-sizing: border-box;
    padding: 0 15px;           /* только горизонтальные отступы */
    margin: 0 0 60px;          /* ВОТ ЭТО: расстояние между рядами */
}

/* доп. отступ между прямоугольником и подписью */
.sub-category-card__thumb {
    margin-bottom: 16px;
}

} /* end @media max-width: 1150px */


/* ========== In-place Diagram Zoom ========== */

.dg-viewport {
    position: relative;
    overflow: hidden;
}

.dg-viewport img {
    transform-origin: 0 0;
    user-select: none;
    -webkit-user-drag: none;
    will-change: transform;
}

.dg-viewport.dg-zoomed {
    cursor: grab;
}

.dg-viewport.dg-grabbing {
    cursor: grabbing !important;
}

.dg-zoom-hint {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,.55);
    color: rgba(255,255,255,.85);
    font-size: 11px;
    padding: 3px 12px;
    border-radius: 12px;
    pointer-events: none;
    white-space: nowrap;
    opacity: 0;
    transition: opacity .3s;
    z-index: 5;
}

.dg-viewport:hover .dg-zoom-hint {
    opacity: 1;
}

.dg-viewport.dg-zoomed .dg-zoom-hint {
    display: none;
}

/* Diagram zoom-in cursor */
.assembly-diagram .diagram-zoom,
.assembly-diagram .diagram-zoom img {
    cursor: zoom-in !important;
}

.dg-viewport.dg-zoomed .diagram-zoom,
.dg-viewport.dg-zoomed .diagram-zoom img {
    cursor: grab !important;
}

.dg-viewport.dg-grabbing .diagram-zoom,
.dg-viewport.dg-grabbing .diagram-zoom img {
    cursor: grabbing !important;
}

/* ========== Position Finder ========== */

.pos-finder {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0 2px;
}

.pos-finder label {
    font-size: 12px;
    color: #666;
    white-space: nowrap;
}

.pos-finder input {
    width: 70px;
    height: 28px;
    line-height: 28px;
    padding: 0 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 13px;
    text-align: center;
    box-sizing: border-box;
}

.pos-finder input.pos-not-found {
    animation: posShake .4s ease;
    border-color: #d00033;
}

@keyframes posShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

/* Flash highlight for found position row */
.pos-highlight {
    animation: posFlash 1.2s ease-out;
}

@keyframes posFlash {
    0% { background: #fff3cd !important; }
    100% { background: transparent; }
}

/* Persistent highlight for active position row */
.pos-active {
    background: #fff3cd !important;
}

/* Clickable position numbers */
.td-pos {
    cursor: pointer;
}

.td-pos:hover {
    color: #990126 !important;
}
