<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://www.pandoraburo.ru/" xml:lang="ru">
  <id>https://www.pandoraburo.ru/nozhi-na-ekskavatory-i-buldozery</id>
  <link href="https://www.pandoraburo.ru/nozhi-na-ekskavatory-i-buldozery.xml" rel="self"/>
  <title>Калькулятор "Ножи на экскаваторы и бульдозеры"</title>
  <subtitle type="html">
&lt;html lang="ru"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Прайс — Ножи отвала для бульдозеров и автогрейдеров · 500 ₽/кг&lt;/title&gt;
&lt;style&gt;
  :root{
    --gold:#d4af37;
    --gold-light:#f0d060;
    --bg:#0a0a0a;
    --text:#e8e8e8;
    --muted:#9a8040;
    --border:rgba(212,175,55,.35);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{
    background:#050505;color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
    padding:20px 14px;line-height:1.5;
  }
  .nk-wrap{max-width:1400px;margin:0 auto}

  /* ШАПКА */
  .nk-header{
    background:radial-gradient(120% 120% at 20% 0%, rgba(212,175,55,.15), transparent 55%),
               linear-gradient(135deg,#111,#0a0a0a);
    border:1px solid var(--gold);border-radius:14px;
    padding:28px 24px;text-align:center;margin-bottom:16px;
    box-shadow:0 6px 22px rgba(0,0,0,.6);
  }
  .nk-tag{
    display:inline-block;background:var(--gold);color:#0a0a0a;
    font-size:10px;font-weight:800;letter-spacing:2px;
    padding:4px 14px;border-radius:999px;margin-bottom:14px;
  }
  .nk-header h1{
    font-size:26px;font-weight:800;letter-spacing:3px;
    color:var(--gold);text-transform:uppercase;margin-bottom:10px;
  }
  .nk-line{width:60px;height:2px;background:var(--gold);margin:0 auto 12px}
  .nk-header p{color:var(--muted);font-size:14px}
  .nk-header p b{color:var(--gold-light)}

  /* СТАТИСТИКА */
  .nk-stats{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:12px;margin-bottom:16px;
  }
  @media(max-width:800px){.nk-stats{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:500px){.nk-stats{grid-template-columns:1fr}}
  .nk-stat{
    background:var(--bg);border:1px solid var(--gold);
    border-radius:12px;padding:16px;text-align:center;
  }
  .nk-lbl{
    font-size:10px;font-weight:700;letter-spacing:1px;
    text-transform:uppercase;color:var(--gold);opacity:.7;
    margin-bottom:6px;
  }
  .nk-val{font-size:22px;font-weight:800;color:var(--gold-light);line-height:1.1}
  .nk-val.nk-sm{font-size:16px}

  /* ТУЛБАР */
  .nk-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
  .nk-btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:10px 16px;border-radius:9px;
    border:1px solid var(--gold);background:transparent;
    color:var(--gold);font-size:13px;font-weight:700;
    cursor:pointer;transition:.15s;
    font-family:inherit;letter-spacing:.3px;
  }
  .nk-btn:hover{background:var(--gold);color:#0a0a0a}
  .nk-btn.nk-primary{background:var(--gold);color:#0a0a0a}
  .nk-btn.nk-primary:hover{background:var(--gold-light);border-color:var(--gold-light)}

  /* КАЛЬКУЛЯТОР */
  .nk-calc{
    background:var(--bg);border:1px solid var(--gold);
    border-radius:14px;padding:22px;margin-bottom:16px;
  }
  .nk-calc-title{
    color:var(--gold);font-size:12px;font-weight:800;
    letter-spacing:2px;text-align:center;
    margin-bottom:18px;padding-bottom:12px;
    border-bottom:1px solid var(--border);
    text-transform:uppercase;
  }
  .nk-calc-grid{
    display:grid;grid-template-columns:repeat(5,1fr) 1.2fr;
    gap:12px;align-items:end;
  }
  @media(max-width:900px){.nk-calc-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:600px){.nk-calc-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:400px){.nk-calc-grid{grid-template-columns:1fr}}
  .nk-field{display:flex;flex-direction:column;gap:6px}
  .nk-field label{
    font-size:10px;font-weight:700;text-transform:uppercase;
    letter-spacing:1px;color:var(--gold);opacity:.85;
  }
  .nk-field input,
  .nk-field select{
    padding:11px 12px;border:1px solid var(--gold);
    border-radius:9px;font-size:14px;
    background:#0a0a0a;color:var(--gold-light);
    outline:none;font-family:inherit;
    font-variant-numeric:tabular-nums;width:100%;
    transition:.2s;
  }
  .nk-field input:focus,
  .nk-field select:focus{
    border-color:var(--gold-light);
    box-shadow:0 0 0 3px rgba(212,175,55,.2);
  }
  .nk-calc-result{
    padding:11px 14px;border:2px solid var(--gold);
    border-radius:9px;font-size:18px;font-weight:800;
    color:var(--gold-light);text-align:right;
    background:linear-gradient(135deg,#1a1408,#0a0a0a);
    font-variant-numeric:tabular-nums;
    min-height:44px;
  }
  .nk-calc-info{
    margin-top:14px;padding-top:12px;
    border-top:1px dashed var(--border);
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:12px;font-size:12px;
  }
  @media(max-width:600px){.nk-calc-info{grid-template-columns:repeat(2,1fr)}}
  .nk-calc-info b{color:var(--gold-light)}

  /* ПОИСК + ФИЛЬТР */
  .nk-filter{
    background:var(--bg);border:1px solid var(--gold);
    border-radius:14px;padding:16px;margin-bottom:16px;
    display:grid;grid-template-columns:1fr auto;
    gap:12px;align-items:center;
  }
  @media(max-width:700px){.nk-filter{grid-template-columns:1fr}}
  .nk-search-input{
    width:100%;padding:12px 14px;
    border:1px solid var(--gold);border-radius:9px;
    font-size:14px;background:#0a0a0a;
    color:var(--gold-light);outline:none;font-family:inherit;
  }
  .nk-search-input::placeholder{color:rgba(212,175,55,.4)}
  .nk-search-input:focus{box-shadow:0 0 0 3px rgba(212,175,55,.2)}
  .nk-counter{
    color:var(--gold);font-size:13px;
    white-space:nowrap;padding:12px 14px;
    border:1px solid var(--gold);border-radius:9px;
    background:#0a0a0a;font-weight:700;
  }
  .nk-cats{
    grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;
    margin-top:4px;
  }
  .nk-cat-btn{
    padding:7px 14px;border-radius:999px;
    border:1px solid var(--border);background:transparent;
    color:var(--gold);font-size:12px;font-weight:700;
    cursor:pointer;transition:.15s;font-family:inherit;
  }
  .nk-cat-btn:hover{background:rgba(212,175,55,.1);border-color:var(--gold)}
  .nk-cat-btn.on{background:var(--gold);color:#0a0a0a;border-color:var(--gold)}

  /* ТАБЛИЦА */
  .nk-table-block{
    background:var(--bg);border:1px solid var(--gold);
    border-radius:14px;padding:20px;margin-bottom:16px;
  }
  .nk-block-title{
    color:var(--gold);font-size:12px;font-weight:800;
    letter-spacing:2px;text-align:center;
    margin-bottom:16px;padding-bottom:12px;
    border-bottom:1px solid var(--border);
    text-transform:uppercase;
  }
  .nk-table-wrap{
    overflow:auto;max-height:75vh;
    border-radius:8px;border:1px solid var(--gold);
  }
  .nk-table{
    width:100%;border-collapse:collapse;
    background:#0a0a0a;min-width:1200px;font-size:13px;
  }
  .nk-table th,.nk-table td{
    padding:11px 12px;text-align:left;
    border-bottom:1px solid rgba(212,175,55,.2);
    vertical-align:middle;color:var(--gold);
    background:transparent;white-space:nowrap;
  }
  .nk-table th{
    position:sticky;top:0;z-index:2;
    background:#0a0a0a;color:var(--gold);
    font-weight:800;text-transform:uppercase;
    font-size:10px;letter-spacing:1px;
    border-bottom:1px solid var(--gold);
    cursor:pointer;user-select:none;
  }
  .nk-table th:hover{background:#1a1408}
  .nk-table th.nk-sortable::after{content:' ⇅';opacity:.5;margin-left:4px;font-size:9px}
  .nk-table th.asc::after{content:' ▲';opacity:1;color:var(--gold-light)}
  .nk-table th.desc::after{content:' ▼';opacity:1;color:var(--gold-light)}
  .nk-table th.nk-num,.nk-table td.nk-num{
    text-align:right;font-variant-numeric:tabular-nums;
  }
  .nk-table tbody tr{transition:background .15s}
  .nk-table tbody tr:hover{
    background:#1a1408;
    box-shadow:inset 3px 0 0 var(--gold-light),inset -3px 0 0 var(--gold-light);
  }
  .nk-table td.nk-price{font-weight:800;color:var(--gold-light);font-size:14px}
  .nk-table td.nk-article{font-family:'Courier New',monospace;font-size:12px;color:var(--gold-light)}
  .nk-table td b{color:#fff}
  .nk-badge{
    display:inline-block;padding:3px 10px;border-radius:20px;
    font-size:10px;font-weight:800;text-transform:uppercase;
    background:rgba(212,175,55,.15);color:var(--gold-light);
    border:1px solid rgba(212,175,55,.5);
    letter-spacing:.5px;
  }
  .nk-badge.ctz{background:rgba(255,107,107,.12);color:#ff9a9a;border-color:rgba(255,107,107,.4)}
  .nk-badge.chsdm{background:rgba(78,205,196,.12);color:#7fdcd4;border-color:rgba(78,205,196,.4)}
  .nk-badge.kdm{background:rgba(116,185,255,.12);color:#a8cfff;border-color:rgba(116,185,255,.4)}
  .nk-badge.hard{background:rgba(232,67,147,.12);color:#ff8fc0;border-color:rgba(232,67,147,.4)}
  .nk-star{
    cursor:pointer;font-size:18px;
    color:rgba(212,175,55,.3);transition:all .2s;
    user-select:none;text-align:center;
  }
  .nk-star:hover{color:var(--gold);transform:scale(1.2)}
  .nk-star.on{color:var(--gold-light);text-shadow:0 0 8px var(--gold-light)}

  /* ПОДВАЛ ПРАЙСА */
  .nk-footnote{
    display:flex;flex-wrap:wrap;gap:20px;
    margin-top:14px;padding-top:12px;
    border-top:1px solid var(--gold);
  }
  .nk-fn{
    color:var(--gold);font-size:12px;
    position:relative;padding-left:14px;opacity:.9;
  }
  .nk-fn::before{
    content:"◆";position:absolute;left:0;
    color:var(--gold);font-size:8px;top:4px;
  }
  .nk-fn b{color:var(--gold-light)}

  /* КОНТАКТЫ */
  .nk-cta{
    text-align:center;background:var(--bg);
    border:1px solid var(--gold);border-radius:14px;
    padding:28px 20px;margin-top:16px;
  }
  .nk-cta-text{
    font-size:16px;font-weight:600;
    color:var(--gold);margin-bottom:16px;
  }
  .nk-cta-btn{
    display:inline-block;background:var(--gold);color:#0a0a0a;
    text-decoration:none;padding:16px 40px;
    font-size:20px;font-weight:800;letter-spacing:1px;
    border-radius:999px;transition:.25s;margin:0 6px;
  }
  .nk-cta-btn:hover{background:var(--gold-light);transform:scale(1.03)}
  .nk-cta-mail{
    display:inline-block;color:var(--gold);text-decoration:none;
    padding:16px 30px;font-size:16px;font-weight:700;
    border:1px solid var(--gold);border-radius:999px;
    transition:.25s;margin:0 6px;
  }
  .nk-cta-mail:hover{background:var(--gold);color:#0a0a0a}
  .nk-manager{margin-top:16px;font-size:13px;color:var(--muted)}

  /* ИЗБРАННОЕ */
  .nk-fav{
    background:var(--bg);border:2px solid var(--gold-light);
    border-radius:14px;padding:20px;margin-bottom:16px;
    box-shadow:0 0 24px rgba(240,208,96,.2);
  }
  .nk-fav-title{
    color:var(--gold-light);font-size:12px;font-weight:800;
    letter-spacing:2px;text-align:center;
    margin-bottom:14px;padding-bottom:10px;
    border-bottom:1px solid var(--gold-light);
    text-transform:uppercase;
  }
  .nk-fav-list{
    display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;
  }
  .nk-fav-item{
    background:rgba(212,175,55,.1);
    border:1px solid rgba(212,175,55,.4);
    border-radius:8px;padding:6px 12px;
    font-size:13px;color:var(--gold-light);
    display:inline-flex;align-items:center;gap:6px;
  }
  .nk-fav-item b{color:#fff}
  .nk-fav-rm{
    cursor:pointer;color:#ff8a7a;
    font-weight:800;font-size:14px;margin-left:4px;
  }

  /* СКРОЛЛБАР */
  .nk-wrap ::-webkit-scrollbar{width:14px;height:14px}
  .nk-wrap ::-webkit-scrollbar-track{
    background:#050505;border:1px solid #2a2210;border-radius:9px;
  }
  .nk-wrap ::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#ffd700,#d4af37,#ff8c00);
    border-radius:9px;border:1px solid #ffd700;
    box-shadow:0 0 10px rgba(255,215,0,.7);
  }
  .nk-wrap ::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#ffffcc,#ffd700,#ff8c00);
  }

  /* ПЕЧАТЬ */
  @media print{
    body{background:#fff;color:#000;padding:0}
    .nk-header{background:#000 !important;color:#ffd700 !important;
      -webkit-print-color-adjust:exact;print-color-adjust:exact}
    .nk-header h1,.nk-header p{color:#ffd700 !important}
    .nk-tag{background:#ffd700 !important;color:#000 !important}
    .nk-line{background:#ffd700 !important}
    .nk-stats,.nk-table-block,.nk-cta,.nk-calc,.nk-fav{
      background:#fff !important;border-color:#666 !important;
      color:#000 !important;box-shadow:none !important;
    }
    .nk-calc,.nk-toolbar,.nk-filter,.nk-fav{display:none !important}
    .nk-block-title,.nk-calc-title{color:#000 !important;border-color:#666 !important}
    .nk-val{color:#000 !important}
    .nk-table th{background:#000 !important;color:#ffd700 !important;
      -webkit-print-color-adjust:exact;print-color-adjust:exact}
    .nk-table td{color:#000 !important;border-color:#ccc !important}
    .nk-table td.nk-price{color:#000 !important}
    .nk-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .nk-cta-text{color:#000 !important}
    .nk-cta-btn{background:#000 !important;color:#fff !important;
      -webkit-print-color-adjust:exact;print-color-adjust:exact}
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="nk-wrap"&gt;

  
  &lt;div class="nk-header"&gt;
    &lt;div class="nk-tag"&gt;ПРАЙС-ЛИСТ&lt;/div&gt;
    &lt;h1&gt;Ножи отвала · бульдозер · автогрейдер&lt;/h1&gt;
    &lt;div class="nk-line"&gt;&lt;/div&gt;
    &lt;p&gt;Цена производства: &lt;b&gt;500 ₽ за 1 кг&lt;/b&gt; · Любая марка стали · Изготовление по чертежу&lt;/p&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-stats"&gt;
    &lt;div class="nk-stat"&gt;&lt;div class="nk-lbl"&gt;Всего позиций&lt;/div&gt;&lt;div class="nk-val" id="nkStatTotal"&gt;—&lt;/div&gt;&lt;/div&gt;
    &lt;div class="nk-stat"&gt;&lt;div class="nk-lbl"&gt;Категорий&lt;/div&gt;&lt;div class="nk-val" id="nkStatCats"&gt;—&lt;/div&gt;&lt;/div&gt;
    &lt;div class="nk-stat"&gt;&lt;div class="nk-lbl"&gt;Вес от / до&lt;/div&gt;&lt;div class="nk-val nk-sm" id="nkStatWeight"&gt;—&lt;/div&gt;&lt;/div&gt;
    &lt;div class="nk-stat"&gt;&lt;div class="nk-lbl"&gt;Цена от&lt;/div&gt;&lt;div class="nk-val nk-sm" id="nkStatPrice"&gt;—&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-toolbar"&gt;
    &lt;button class="nk-btn nk-primary" onclick="nkDownloadCSV()"&gt;⬇ Скачать CSV&lt;/button&gt;
    &lt;button class="nk-btn nk-primary" onclick="nkDownloadExcel()"&gt;⬇ Скачать Excel&lt;/button&gt;
    &lt;button class="nk-btn" onclick="window.print()"&gt;? Печать&lt;/button&gt;
    &lt;button class="nk-btn" onclick="nkCopyAll(event)"&gt;? Копировать прайс&lt;/button&gt;
    &lt;button class="nk-btn" onclick="nkReset()"&gt;✕ Сбросить&lt;/button&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-calc"&gt;
    &lt;div class="nk-calc-title"&gt;Калькулятор изготовления по размерам&lt;/div&gt;
    &lt;div class="nk-calc-grid"&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Толщина, мм&lt;/label&gt;
        &lt;input type="number" id="nkThk" value="20" min="4" max="100" step="1" /&gt;
      &lt;/div&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Ширина, мм&lt;/label&gt;
        &lt;input type="number" id="nkWid" value="254" min="50" max="600" step="10" /&gt;
      &lt;/div&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Длина, мм&lt;/label&gt;
        &lt;input type="number" id="nkLen" value="1260" min="200" max="6000" step="50" /&gt;
      &lt;/div&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Кол-во, шт&lt;/label&gt;
        &lt;input type="number" id="nkQty" value="1" min="1" max="999" /&gt;
      &lt;/div&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Цена, ₽/кг&lt;/label&gt;
        &lt;input type="number" id="nkRate" value="500" min="1" max="10000" step="50" /&gt;
      &lt;/div&gt;
      &lt;div class="nk-field"&gt;
        &lt;label&gt;Стоимость партии, ₽&lt;/label&gt;
        &lt;div class="nk-calc-result" id="nkResult"&gt;0&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="nk-calc-info"&gt;
      &lt;div&gt;Вес 1 шт: &lt;b id="nkCalcWeight1"&gt;—&lt;/b&gt;&lt;/div&gt;
      &lt;div&gt;Общий вес: &lt;b id="nkCalcWeightTotal"&gt;—&lt;/b&gt;&lt;/div&gt;
      &lt;div&gt;Цена за 1 шт: &lt;b id="nkCalcPrice1"&gt;—&lt;/b&gt;&lt;/div&gt;
      &lt;div&gt;Итого: &lt;b id="nkCalcTotal"&gt;—&lt;/b&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-filter"&gt;
    &lt;input class="nk-search-input" type="text" id="nkSearch" placeholder="Поиск по артикулу, марке, размеру…" /&gt;
    &lt;div class="nk-counter" id="nkCounter"&gt;Найдено: 0&lt;/div&gt;
    &lt;div class="nk-cats" id="nkCats"&gt;&lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-table-block"&gt;
    &lt;div class="nk-block-title"&gt;Прайс-лист · Ножи отвала&lt;/div&gt;
    &lt;div class="nk-table-wrap"&gt;
      &lt;table class="nk-table" id="nkTable"&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th class="nk-num"&gt;№&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="cat"&gt;Категория&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="article"&gt;Артикул&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="name"&gt;Наименование&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="machine"&gt;Техника&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="dims"&gt;Размеры, мм&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="steel"&gt;Сталь&lt;/th&gt;
            &lt;th class="nk-sortable" data-key="hard"&gt;Наплавка&lt;/th&gt;
            &lt;th class="nk-sortable nk-num" data-key="weight"&gt;Вес, кг&lt;/th&gt;
            &lt;th class="nk-sortable nk-num" data-key="price"&gt;Цена, ₽&lt;/th&gt;
            &lt;th&gt;★&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody id="nkBody"&gt;&lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;
    &lt;div class="nk-footnote"&gt;
      &lt;div class="nk-fn"&gt;Цена изготовления: &lt;b&gt;500 ₽/кг&lt;/b&gt;&lt;/div&gt;
      &lt;div class="nk-fn"&gt;Вес рассчитан по плотности стали &lt;b&gt;7,85 г/см³&lt;/b&gt;&lt;/div&gt;
      &lt;div class="nk-fn"&gt;НДС 20% включён в цену&lt;/div&gt;
      &lt;div class="nk-fn"&gt;Возможно изготовление по чертежу заказчика&lt;/div&gt;
      &lt;div class="nk-fn"&gt;Клик по ★ — добавить в избранное&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-fav" id="nkFavBlock" style="display:none"&gt;
    &lt;div class="nk-fav-title"&gt;★ Избранное&lt;/div&gt;
    &lt;div class="nk-fav-list" id="nkFavList"&gt;&lt;/div&gt;
    &lt;button class="nk-btn nk-primary" onclick="nkSendFav()"&gt;? Запросить счёт по избранному&lt;/button&gt;
  &lt;/div&gt;

  
  &lt;div class="nk-cta"&gt;
    &lt;p class="nk-cta-text"&gt;Изготовим ножи по вашим размерам и чертежам&lt;/p&gt;
    &lt;a href="tel:+79028733690" class="nk-cta-btn"&gt;8 (902) 873-36-90&lt;/a&gt;
    &lt;a href="mailto:arsenal-detal@list.ru?subject=Запрос%20на%20ножи%20отвала" class="nk-cta-mail"&gt;✉ arsenal-detal@list.ru&lt;/a&gt;
    &lt;p class="nk-manager"&gt;Менеджер: Ольга · ООО «Арсенал Деталь»&lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
/* ==================== ДАННЫЕ ==================== */
/* Цена = вес × 500 руб/кг (округлено до 50 руб) */
var nkData = [
  // === НОЖИ ДЛЯ БУЛЬДОЗЕРОВ ЧТЗ ===
  {num:1, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'749-96-164', name:'Нож средний', machine:'ЧТЗ ДЭТ-250', dims:'980×330×50', steel:'09Г2С', hard:'да', weight:126.9},
  {num:2, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'067.55.11.004-02', name:'Нож средний (7 отв.)', machine:'ЧТЗ / ЧСДМ', dims:'1260×254×20', steel:'09Г2С', hard:'да', weight:50.3},
  {num:3, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'067.55.11.004-01', name:'Нож средний (7 отв.)', machine:'ЧТЗ / ЧСДМ', dims:'975×254×20', steel:'09Г2С', hard:'да', weight:38.9},
  {num:4, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'80-52-61', name:'Нож средний', machine:'ЧТЗ', dims:'1260×254×20', steel:'09Г2С', hard:'да', weight:50.3},
  {num:5, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'80-52-111-02', name:'Нож боковой правый', machine:'ЧТЗ', dims:'440×300×30', steel:'09Г2С', hard:'нет', weight:31.1},
  {num:6, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'80-52-112-02', name:'Нож боковой левый', machine:'ЧТЗ', dims:'440×300×30', steel:'09Г2С', hard:'нет', weight:31.1},
  {num:7, cat:'ЧТЗ', catLabel:'ЧТЗ', article:'749-96-14-01', name:'Нож средний', machine:'ЧТЗ', dims:'980×330×50', steel:'09Г2С', hard:'да', weight:126.9},

  // === НОЖИ ДЛЯ АВТОГРЕЙДЕРОВ ЧСДМ ===
  {num:8, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'067.55.11.004-02', name:'Нож средний (передний)', machine:'ЧСДМ ДЗ-98', dims:'1260×254×20', steel:'09Г2С', hard:'да', weight:50.3},
  {num:9, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'067.55.11.004-01', name:'Нож средний', machine:'ЧСДМ ДЗ-98', dims:'975×254×20', steel:'09Г2С', hard:'да', weight:38.9},
  {num:10, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'Д661.02.001-02', name:'Нож боковой правый', machine:'ЧСДМ', dims:'440×300×30', steel:'09Г2С', hard:'нет', weight:31.1},
  {num:11, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'Д661.02.001-01', name:'Нож боковой левый', machine:'ЧСДМ', dims:'440×300×30', steel:'09Г2С', hard:'нет', weight:31.1},
  {num:12, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'А-120.34.14.001', name:'Нож боковой правый', machine:'А-120', dims:'450×260×40', steel:'09Г2С', hard:'нет', weight:36.7},
  {num:13, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'А-120.34.14.001-01', name:'Нож боковой левый', machine:'А-120', dims:'450×260×40', steel:'09Г2С', hard:'нет', weight:36.7},
  {num:14, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'ДЗ-98.23.01.090', name:'Нож боковой', machine:'ДЗ-98', dims:'720×360×25', steel:'09Г2С', hard:'нет', weight:50.9},
  {num:15, cat:'ЧСДМ', catLabel:'ЧСДМ', article:'ДЗ-985.23.01.011', name:'Нож средний (старый обр.)', machine:'ДЗ-98', dims:'1800×204×20', steel:'09Г2С', hard:'нет', weight:57.6},

  // === НОЖИ ДЛЯ КДМ ===
  {num:16, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ «Урал-Тройка»', machine:'КДМ', dims:'2090×250×14', steel:'09Г2С', hard:'нет', weight:57.4},
  {num:17, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ «Урал-Тройка»', machine:'КДМ', dims:'3000×250×14', steel:'09Г2С', hard:'нет', weight:82.4},
  {num:18, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ', machine:'КДМ', dims:'910×250×14', steel:'09Г2С', hard:'нет', weight:25.0},
  {num:19, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ', machine:'КДМ', dims:'1220×220×12', steel:'09Г2С', hard:'нет', weight:25.3},
  {num:20, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ', machine:'КДМ', dims:'1525×220×12', steel:'09Г2С', hard:'нет', weight:31.6},
  {num:21, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож отвала КДМ', machine:'КДМ', dims:'1560×220×12', steel:'09Г2С', hard:'нет', weight:32.3},
  {num:22, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож средний ОСА (зубчатый)', machine:'ОСА', dims:'1800×180×20', steel:'09Г2С', hard:'нет', weight:50.9},
  {num:23, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож средний ОСА (зубчатый)', machine:'ОСА', dims:'885×180×20', steel:'09Г2С', hard:'нет', weight:25.0},
  {num:24, cat:'КДМ', catLabel:'КДМ', article:'—', name:'Нож средний ОСА (зубчатый)', machine:'ОСА', dims:'600×180×20', steel:'09Г2С', hard:'нет', weight:17.0}
];

/* ==================== РАСЧЁТ ЦЕН ==================== */
var NK_RATE = 500; // руб/кг
nkData.forEach(function(r){
  r.price = Math.round(r.weight * NK_RATE / 50) * 50; // округление до 50 ₽
});

var nkState = { search: '', cat: 'all', sort: {key: null, dir: 1} };
var nkFav = [];

/* ==================== УТИЛИТЫ ==================== */
function nkFmt(n){ return Math.round(n).toLocaleString('ru-RU'); }
function nkNum1(n){ return n.toLocaleString('ru-RU', {minimumFractionDigits:1, maximumFractionDigits:1}); }

/* ==================== СТАТИСТИКА ==================== */
function nkUpdateStats(){
  document.getElementById('nkStatTotal').textContent = nkData.length;
  var cats = {};
  nkData.forEach(function(r){ cats[r.catLabel] = 1; });
  document.getElementById('nkStatCats').textContent = Object.keys(cats).length;

  var ws = nkData.map(function(r){ return r.weight; });
  document.getElementById('nkStatWeight').textContent =
    nkNum1(Math.min.apply(null, ws)) + '–' + nkNum1(Math.max.apply(null, ws)) + ' кг';

  var ps = nkData.map(function(r){ return r.price; });
  document.getElementById('nkStatPrice').textContent =
    nkFmt(Math.min.apply(null, ps)) + ' ₽';
}

/* ==================== ФИЛЬТР ==================== */
function nkGetFiltered(){
  var rows = nkData.slice();
  if (nkState.cat !== 'all'){
    rows = rows.filter(function(r){ return r.cat === nkState.cat; });
  }
  if (nkState.search){
    var q = nkState.search.toLowerCase();
    rows = rows.filter(function(r){
      return r.article.toLowerCase().indexOf(q) !== -1 ||
             r.name.toLowerCase().indexOf(q) !== -1 ||
             r.machine.toLowerCase().indexOf(q) !== -1 ||
             r.dims.toLowerCase().indexOf(q) !== -1 ||
             r.steel.toLowerCase().indexOf(q) !== -1;
    });
  }
  if (nkState.sort.key){
    var k = nkState.sort.key, d = nkState.sort.dir;
    rows.sort(function(a, b){
      var va = a[k], vb = b[k];
      if (typeof va === 'number' &amp;&amp; typeof vb === 'number') return (va - vb) * d;
      return String(va).localeCompare(String(vb), 'ru') * d;
    });
  }
  return rows;
}

/* ==================== РЕНДЕР ТАБЛИЦЫ ==================== */
function nkRender(){
  var rows = nkGetFiltered();
  var tbody = document.getElementById('nkBody');
  tbody.innerHTML = '';

  if (!rows.length){
    tbody.innerHTML = '&lt;tr&gt;&lt;td colspan="11" style="text-align:center;padding:40px;opacity:.6"&gt;Ничего не найдено&lt;/td&gt;&lt;/tr&gt;';
    document.getElementById('nkCounter').textContent = 'Найдено: 0';
    return;
  }

  rows.forEach(function(r){
    var badgeCls = 'nk-badge';
    if (r.cat === 'ЧТЗ') badgeCls += ' ctz';
    else if (r.cat === 'ЧСДМ') badgeCls += ' chsdm';
    else if (r.cat === 'КДМ') badgeCls += ' kdm';
    else if (r.cat === 'Твердосплавные') badgeCls += ' hard';

    var isFav = nkFav.indexOf(r.num) !== -1;
    var tr = document.createElement('tr');
    tr.innerHTML =
      '&lt;td class="nk-num"&gt;' + r.num + '&lt;/td&gt;' +
      '&lt;td&gt;&lt;span class="' + badgeCls + '"&gt;' + r.catLabel + '&lt;/span&gt;&lt;/td&gt;' +
      '&lt;td class="nk-article"&gt;' + r.article + '&lt;/td&gt;' +
      '&lt;td&gt;&lt;b&gt;' + r.name + '&lt;/b&gt;&lt;/td&gt;' +
      '&lt;td&gt;' + r.machine + '&lt;/td&gt;' +
      '&lt;td&gt;' + r.dims + '&lt;/td&gt;' +
      '&lt;td&gt;' + r.steel + '&lt;/td&gt;' +
      '&lt;td&gt;' + r.hard + '&lt;/td&gt;' +
      '&lt;td class="nk-num"&gt;' + nkNum1(r.weight) + '&lt;/td&gt;' +
      '&lt;td class="nk-num nk-price"&gt;' + nkFmt(r.price) + '&lt;/td&gt;' +
      '&lt;td class="nk-star' + (isFav ? ' on' : '') + '" data-num="' + r.num + '"&gt;' + (isFav ? '★' : '☆') + '&lt;/td&gt;';
    tbody.appendChild(tr);
  });

  document.getElementById('nkCounter').textContent = 'Найдено: ' + rows.length;
  nkUpdateSort();
  nkBindStars();
}

function nkUpdateSort(){
  var ths = document.querySelectorAll('#nkTable th.nk-sortable');
  for (var i = 0; i &lt; ths.length; i++){
    ths[i].classList.remove('asc','desc');
    if (ths[i].dataset.key === nkState.sort.key){
      ths[i].classList.add(nkState.sort.dir === 1 ? 'asc' : 'desc');
    }
  }
}

/* ==================== КАТЕГОРИИ ==================== */
function nkRenderCats(){
  var cats = [{key:'all', label:'Все'}];
  var seen = {};
  nkData.forEach(function(r){
    if (!seen[r.cat]){ seen[r.cat] = 1; cats.push({key:r.cat, label:r.catLabel}); }
  });
  var box = document.getElementById('nkCats');
  box.innerHTML = cats.map(function(c){
    return '&lt;button class="nk-cat-btn' + (nkState.cat === c.key ? ' on' : '') + '" data-cat="' + c.key + '"&gt;' + c.label + '&lt;/button&gt;';
  }).join('');
  box.querySelectorAll('.nk-cat-btn').forEach(function(b){
    b.addEventListener('click', function(){
      nkState.cat = this.dataset.cat;
      nkRenderCats();
      nkRender();
    });
  });
}

/* ==================== ИЗБРАННОЕ ==================== */
function nkBindStars(){
  var stars = document.querySelectorAll('.nk-star');
  for (var i = 0; i &lt; stars.length; i++){
    stars[i].addEventListener('click', function(){
      var n = parseInt(this.dataset.num, 10);
      var idx = nkFav.indexOf(n);
      if (idx === -1) nkFav.push(n);
      else nkFav.splice(idx, 1);
      nkRenderFav();
      nkRender();
    });
  }
}

function nkRenderFav(){
  var block = document.getElementById('nkFavBlock');
  var list = document.getElementById('nkFavList');
  if (!block || !list) return;
  if (!nkFav.length){ block.style.display = 'none'; return; }
  block.style.display = 'block';
  list.innerHTML = nkFav.map(function(n){
    var r = nkData.find(function(x){ return x.num === n; });
    if (!r) return '';
    return '&lt;span class="nk-fav-item"&gt;&lt;b&gt;' + r.article + '&lt;/b&gt; · ' + r.dims + ' · ' + nkFmt(r.price) + ' ₽' +
           '&lt;span class="nk-fav-rm" data-num="' + n + '"&gt;✕&lt;/span&gt;&lt;/span&gt;';
  }).join('');
  list.querySelectorAll('.nk-fav-rm').forEach(function(el){
    el.addEventListener('click', function(){
      var n = parseInt(this.dataset.num, 10);
      var idx = nkFav.indexOf(n);
      if (idx !== -1) nkFav.splice(idx, 1);
      nkRenderFav();
      nkRender();
    });
  });
}

function nkSendFav(){
  if (!nkFav.length) return;
  var lines = nkFav.map(function(n){
    var r = nkData.find(function(x){ return x.num === n; });
    return r.article + ' (' + r.dims + ') — ' + nkFmt(r.price) + ' ₽';
  }).join('\n');
  var subject = encodeURIComponent('Запрос счёта — ножи отвала');
  var body = encodeURIComponent('Здравствуйте!\n\nПрошу выставить счёт по позициям:\n\n' + lines + '\n\nС уважением,');
  window.location.href = 'mailto:arsenal-detal@list.ru?subject=' + subject + '&amp;body=' + body;
}

/* ==================== КАЛЬКУЛЯТОР ==================== */
function nkCalc(){
  var thk = parseFloat(document.getElementById('nkThk').value) || 0;
  var wid = parseFloat(document.getElementById('nkWid').value) || 0;
  var len = parseFloat(document.getElementById('nkLen').value) || 0;
  var qty = Math.max(1, parseInt(document.getElementById('nkQty').value, 10) || 1);
  var rate = parseFloat(document.getElementById('nkRate').value) || 500;

  var volCm3 = (thk * wid * len) / 1000;
  var weight1 = (volCm3 * 7.85) / 1000;
  var weightTotal = weight1 * qty;
  var price1 = Math.round(weight1 * rate / 50) * 50;
  var total = price1 * qty;

  document.getElementById('nkResult').textContent = nkFmt(total) + ' ₽';
  document.getElementById('nkCalcWeight1').textContent = nkNum1(weight1) + ' кг';
  document.getElementById('nkCalcWeightTotal').textContent = nkNum1(weightTotal) + ' кг';
  document.getElementById('nkCalcPrice1').textContent = nkFmt(price1) + ' ₽';
  document.getElementById('nkCalcTotal').textContent = nkFmt(total) + ' ₽';
}

/* ==================== СОБЫТИЯ ==================== */
document.addEventListener('DOMContentLoaded', function(){
  // Калькулятор
  ['nkThk','nkWid','nkLen','nkQty','nkRate'].forEach(function(id){
    var el = document.getElementById(id);
    if (el){ el.addEventListener('input', nkCalc); el.addEventListener('change', nkCalc); }
  });

  // Поиск
  var inp = document.getElementById('nkSearch');
  if (inp) inp.addEventListener('input', function(e){
    nkState.search = e.target.value.trim();
    nkRender();
  });

  // Сортировка
  document.querySelectorAll('#nkTable th.nk-sortable').forEach(function(th){
    th.addEventListener('click', function(){
      var k = th.dataset.key;
      if (nkState.sort.key === k) nkState.sort.dir *= -1;
      else nkState.sort = {key: k, dir: 1};
      nkRender();
    });
  });

  nkUpdateStats();
  nkRenderCats();
  nkCalc();
  nkRender();
  nkRenderFav();
});

function nkReset(){
  nkState = {search:'', cat:'all', sort:{key:null, dir:1}};
  var inp = document.getElementById('nkSearch');
  if (inp) inp.value = '';
  nkFav = [];
  nkRenderCats();
  nkRender();
  nkRenderFav();
}

/* ==================== ЭКСПОРТ CSV ==================== */
function nkDownloadCSV(){
  var rows = nkGetFiltered();
  var header = ['№','Категория','Артикул','Наименование','Техника','Размеры, мм','Сталь','Наплавка','Вес, кг','Цена, ₽'];
  var body = rows.map(function(r){
    return [r.num, r.catLabel, r.article, r.name, r.machine, r.dims, r.steel, r.hard, nkNum1(r.weight), r.price];
  });
  var esc = function(v){ return '"' + String(v).replace(/"/g,'""') + '"'; };
  var csv = [header].concat(body).map(function(r){ return r.map(esc).join(';'); }).join('\r\n');
  nkDownloadBlob(new Blob(['\uFEFF' + csv], {type:'text/csv;charset=utf-8;'}),
    'nozhi_otvala_' + nkToday() + '.csv');
}

/* ==================== ЭКСПОРТ EXCEL ==================== */
function nkDownloadExcel(){
  var rows = nkGetFiltered();
  var header = ['№','Категория','Артикул','Наименование','Техника','Размеры, мм','Сталь','Наплавка','Вес, кг','Цена, ₽'];
  var body = rows.map(function(r){
    return [r.num, r.catLabel, r.article, r.name, r.machine, r.dims, r.steel, r.hard, nkNum1(r.weight), r.price];
  });
  var esc = function(v){ return String(v == null ? '' : v).replace(/&amp;/g,'&amp;amp;').replace(/&lt;/g,'&amp;lt;').replace(/&gt;/g,'&amp;gt;'); };
  var table = '&lt;table border="1" cellspacing="0" cellpadding="4"&gt;' +
    '&lt;thead style="background:#000;color:#ffd700;"&gt;&lt;tr&gt;' + header.map(function(h){ return '&lt;th&gt;' + esc(h) + '&lt;/th&gt;'; }).join('') + '&lt;/tr&gt;&lt;/thead&gt;' +
    '&lt;tbody&gt;' + body.map(function(r){ return '&lt;tr&gt;' + r.map(function(c){ return '&lt;td&gt;' + esc(c) + '&lt;/td&gt;'; }).join('') + '&lt;/tr&gt;'; }).join('') + '&lt;/tbody&gt;&lt;/table&gt;';
  var html = '&lt;html xmlns:x="urn:schemas-microsoft-com:office:excel"&gt;&lt;head&gt;&lt;meta charset="UTF-8"&gt;' +
    '&lt;style&gt;td,th{font-family:Arial;font-size:12px;}&lt;/style&gt;&lt;/head&gt;' +
    '&lt;body&gt;&lt;h2&gt;Прайс — Ножи отвала · ' + nkToday() + '&lt;/h2&gt;' +
    '&lt;p&gt;Цена изготовления: 500 ₽/кг · НДС 20%&lt;/p&gt;' + table +
    '&lt;p&gt;&lt;i&gt;ООО «Арсенал Деталь» · 8 902 873-36-90&lt;/i&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;';
  nkDownloadBlob(new Blob(['\uFEFF' + html], {type:'application/vnd.ms-excel;charset=utf-8;'}),
    'nozhi_otvala_' + nkToday() + '.xls');
}

/* ==================== КОПИРОВАНИЕ ==================== */
function nkCopyAll(evt){
  var rows = nkGetFiltered();
  var lines = ['ПРАЙС — Ножи отвала (500 ₽/кг, НДС 20%)', ''];
  rows.forEach(function(r){
    lines.push('№' + r.num + '  ' + r.article + '  ' + r.name + '  ' + r.dims + '  ' + r.steel + '  ' + nkNum1(r.weight) + ' кг  —  ' + nkFmt(r.price) + ' ₽');
  });
  lines.push('');
  lines.push('ООО «Арсенал Деталь» · 8 902 873-36-90');
  var text = lines.join('\n');
  if (navigator.clipboard &amp;&amp; navigator.clipboard.writeText){
    navigator.clipboard.writeText(text).then(function(){
      var btn = evt &amp;&amp; evt.target ? evt.target : null;
      if (btn){ var old = btn.textContent; btn.textContent = '✓ Скопировано'; setTimeout(function(){ btn.textContent = old; }, 1500); }
    });
  } else { alert(text); }
}

function nkDownloadBlob(blob, filename){
  var url = URL.createObjectURL(blob);
  var a = document.createElement('a');
  a.href = url; a.download = filename;
  document.body.appendChild(a); a.click(); a.remove();
  setTimeout(function(){ URL.revokeObjectURL(url); }, 500);
}

function nkToday(){
  var d = new Date(), p = function(n){ return String(n).padStart(2,'0'); };
  return d.getFullYear() + '-' + p(d.getMonth()+1) + '-' + p(d.getDate());
}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</subtitle>
  <updated>2026-10-11T06:16:28Z</updated>
  <logo>https://pandoraburo.ru/ssl/u/pic/07/26436cc3c611f19d9efcd8c4a10874/-/0c723f71762611f1b3964aaba1665535.jpg</logo>
  <author>
    <name>1592962</name>
    <uri>https://www.pandoraburo.ru/</uri>
  </author>
</feed>
