/* Каталог: разделы, карточки, страница товара, поиск */
.k-search { padding-top: 12px; }
.k-search form { display:flex; gap:8px; }
.k-search input { flex:1; min-width:0; font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--fg); }
.k-search .btn { margin:0; }
.k-crumbs { margin:16px 0 0; font-size:14px; color:var(--muted); }
.k-crumbs a { color:var(--muted); }
.k-lead { max-width:760px; }
main h1 { font-size:30px; line-height:1.2; margin:12px 0 8px; }

.k-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; margin:20px 0; }
.k-tile { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.k-tile-sale { border-color:#d93025; }
.k-tile-h { display:flex; justify-content:space-between; gap:10px; align-items:baseline; text-decoration:none; color:inherit; }
.k-tile-h b { font-size:19px; color:var(--accent); }
.k-tile-sale .k-tile-h b { color:#d93025; }
.k-tile-h span { font-size:13px; color:var(--muted); white-space:nowrap; }
.k-tile p { margin:6px 0 10px; font-size:14px; color:var(--muted); }
.k-subs { display:flex; flex-wrap:wrap; gap:6px 12px; font-size:14px; }
.k-cta { margin:24px 0; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px 20px; }
.k-cta p { margin:0 0 12px; }

.k-chips { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.k-chips a { padding:6px 12px; border:1px solid var(--line); border-radius:999px; background:var(--card); text-decoration:none; font-size:14px; }
.k-chips a span { color:var(--muted); font-size:12px; }
.k-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0; }
.k-filters input[type=search], .k-filters select { font:inherit; font-size:14px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--fg); }
.k-filters input[type=search] { width:220px; max-width:100%; }
.k-filters select { width:auto; }
.k-filters label { font-size:14px; display:flex; gap:6px; align-items:center; white-space:nowrap; }
.k-filters input[type=checkbox] { width:auto; margin:0; }

.k-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:12px; margin-bottom:30px; }
.k-card { display:flex; flex-direction:column; gap:4px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px; text-decoration:none; color:inherit; }
.k-card:hover { border-color:var(--accent); }
.k-link { display:flex; flex-direction:column; gap:4px; flex:1; color:inherit; text-decoration:none; }
.k-add { display:block; margin-top:6px; padding:7px 10px; border:1px solid var(--accent); border-radius:8px; color:var(--accent); text-align:center; text-decoration:none; font-size:14px; font-weight:600; }
.k-add:hover { background:var(--accent); color:#fff; }
.k-card[hidden] { display:none !important; }
.k-img { position:relative; display:block; height:220px; background:#fff; border-radius:8px; overflow:hidden; }
.k-img img { width:100%; height:100%; object-fit:contain; }
.k-name { font-size:14px; line-height:1.3; }
.k-art { font-size:12px; color:var(--muted); }
.k-price { font-weight:700; margin-top:auto; }
.k-stock { font-size:12px; }
.k-stock.yes { color:#1e8e3e; } .k-stock.few { color:#b26a00; } .k-stock.no { color:#d93025; }
.k-sale { display:inline-block; font-size:12px; font-weight:600; padding:2px 8px; border-radius:999px; background:#d93025; color:#fff; }
.k-img .k-sale { position:absolute; left:6px; top:6px; }
.k-wait { display:inline-block; font-size:13px; padding:3px 10px; border-radius:999px; background:#fff4e0; color:#8a5300; }

.k-prod { display:grid; grid-template-columns:minmax(260px, 380px) 1fr; gap:28px; margin:16px 0 30px; }
.k-main { width:100%; max-height:620px; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:12px; display:block; }
.k-nophoto { height:300px; display:flex; align-items:center; justify-content:center; color:var(--muted); }
.k-thumbs { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.k-thumbs img { width:52px; height:66px; object-fit:cover; background:#fff; border-radius:6px; border:2px solid transparent; cursor:pointer; }
.k-thumbs img.on { border-color:var(--accent); }
.k-info h1 { font-size:26px; margin-top:0; }
.k-badges { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 10px; }
.k-bigprice { font-size:28px; font-weight:700; margin:6px 0 2px; }
.k-note { font-size:13px; }
.k-h2 { font-size:18px; margin:24px 0 8px; }
.k-sizes { border-collapse:collapse; font-size:14px; }
.k-sizes th { font-size:13px; color:var(--muted); font-weight:600; padding:5px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
.k-sizes th:first-child, .k-sizes td:first-child { text-align:left; padding-left:0; }
.k-sizes td { padding:5px 10px; border-bottom:1px solid var(--line); text-align:center; white-space:nowrap; }
.k-sizes td.yes { color:#1e8e3e; font-weight:600; } .k-sizes td.few { color:#b26a00; font-weight:600; } .k-sizes td.no { color:#d93025; }
.k-props { width:100%; border-collapse:collapse; font-size:14px; }
.k-props td { padding:6px 8px; border-top:1px solid var(--line); vertical-align:top; }
.k-props td:first-child { color:var(--muted); width:40%; padding-left:0; }
.k-desc { line-height:1.6; }

@media (max-width: 700px) {
  main h1 { font-size:24px; }
  .k-prod { grid-template-columns:1fr; gap:16px; }
  .k-main { max-height:420px; }
  .k-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
  .k-img { height:170px; }
  .k-sizes { font-size:13px; }
}

/* Фильтры раздела: панель слева, быстрые кнопки, на телефоне — выезжающая панель */
.k-quick { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 14px; }
.k-quick button { font:inherit; font-size:14px; padding:7px 14px; border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--fg); cursor:pointer; }
.k-quick button span { color:var(--muted); font-size:12px; }
.k-quick button.on { background:var(--accent); border-color:var(--accent); color:#fff; }
.k-quick button.on span { color:#e6eef7; }
.k-layout { display:grid; grid-template-columns:250px minmax(0, 1fr); gap:20px; align-items:start; }
.k-side { position:sticky; top:12px; max-height:calc(100vh - 24px); overflow:auto; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.k-side-head { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.k-side-head b { flex:1; }
.k-reset { font:inherit; font-size:13px; background:none; border:none; color:var(--accent); cursor:pointer; padding:0; }
.k-close, .k-apply, .k-open { display:none; }
.k-fg { border-top:1px solid var(--line); padding:8px 0; }
.k-fg summary { cursor:pointer; font-weight:600; font-size:14px; padding:2px 0; }
.k-opts { display:grid; gap:2px; margin-top:6px; }
.k-fg label, .k-common label { display:flex; gap:6px; align-items:flex-start; font-size:14px; line-height:1.3; cursor:pointer; padding:2px 0; }
.k-fg label input, .k-common label input { width:auto; margin:2px 0 0; flex:none; }
.k-fg label span { flex:1; }
.k-fg label i, .k-common label i { font-style:normal; font-size:12px; color:var(--muted); }
.k-fg label.k-more { display:none; }
.k-opts.k-all label.k-more { display:flex; }
.k-fg label.k-zero { opacity:.4; }
.k-showmore { font:inherit; font-size:13px; background:none; border:none; color:var(--accent); cursor:pointer; padding:2px 0; text-align:left; }
.k-common { border-top:none; padding-top:0; display:grid; gap:4px; }
.k-price-range { display:flex; gap:6px; margin-bottom:4px; }
.k-price-range input { width:50%; min-width:0; font:inherit; font-size:14px; padding:7px 8px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); }
.k-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.k-bar input[type=search] { flex:1; min-width:160px; font:inherit; font-size:14px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--fg); }
.k-bar select { width:auto; font:inherit; font-size:14px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--fg); }
.k-list .k-grid { grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); }

@media (max-width: 860px) {
  .k-layout { grid-template-columns:1fr; }
  .k-open { display:inline-flex; margin:0; padding:8px 14px; font-size:14px; }
  .k-side { display:none; position:fixed; inset:0; z-index:50; max-height:none; border-radius:0; padding:14px 16px 90px; top:0; }
  .k-side.open { display:block; }
  .k-close { display:block; font-size:22px; background:none; border:none; color:var(--fg); cursor:pointer; padding:0 4px; }
  .k-apply { display:block; position:fixed; left:16px; right:16px; bottom:16px; margin:0; }
  .k-quick { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .k-quick button { flex:none; }
}

/* Меню из 5 пунктов на телефоне: переносится, а не слипается */
@media (max-width: 600px) {
  header nav { flex-wrap:wrap; justify-content:flex-start; gap:4px 16px; }
  header nav a { font-size:15px; white-space:nowrap; }
}

/* Страница товара: количество по размерам, цена с НДС */
.k-vat { font-size:14px; font-weight:400; color:var(--muted); }
.k-vatnote { font-size:13px; }
.k-sizes-wrap { overflow-x:auto; }
.k-sizes td[data-s] { white-space:nowrap; }
.k-sizes td input[data-q] { width:64px; font:inherit; font-size:15px; padding:5px 6px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); text-align:center; margin-right:6px; }
.k-sizes td input[data-q]:focus { border-color:var(--accent); outline:none; }
.k-sizes td [data-st] { font-size:12px; }
.k-order { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:12px 0 4px; }
.k-order .btn { margin:0; }
.k-prod > * { min-width:0; }
@media (max-width: 600px) {
  .k-sizes td input[data-q] { width:48px; margin-right:3px; }
  .k-sizes th, .k-sizes td { padding-left:4px; padding-right:4px; }
}

/* Характеристики и описание на всю ширину под фото и ценой */
.k-full { margin:0 0 30px; }
.k-full .k-h2:first-child { margin-top:0; }
.k-full .k-props td:first-child { width:30%; }
.k-desc { max-width:none; }
.k-price-dl { margin:18px 0 0; display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.k-price-dl .btn { margin:0; }
.k-series { grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); }
.k-series .k-img { height:170px; }
.k-sel { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:14px; }
.k-sel span { flex:none; width:52px; color:var(--muted); }
.k-sel select { flex:1; min-width:0; font:inherit; font-size:14px; padding:7px 8px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); }
.k-city a b { color:var(--accent); }
/* Костюм из частей: список изделий вместо таблицы размеров */
.k-parts { display:grid; gap:10px; margin:10px 0 4px; }
.k-part { display:grid; grid-template-columns:84px minmax(0, 1fr); gap:6px 12px; padding:10px; background:var(--card); border:1px solid var(--line); border-radius:12px; align-items:start; }
.k-part-img { grid-row:1 / 3; display:block; height:104px; background:#fff; border-radius:8px; overflow:hidden; }
.k-part-img img { width:100%; height:100%; object-fit:contain; }
.k-part-t { display:flex; flex-direction:column; gap:2px; min-width:0; }
.k-part-n { font-size:14px; line-height:1.3; color:var(--fg); text-decoration:none; }
.k-part-n:hover { color:var(--accent); }
.k-part-act .btn { margin:0; padding:8px 14px; }

/* Описание абзацами */
.k-desc { max-width:860px; line-height:1.65; }
.k-desc p { margin:0 0 12px; }
.k-desc .k-h3 { font-size:17px; margin:22px 0 6px; padding-top:14px; border-top:1px solid var(--line); }
.k-desc .k-h3:first-child { margin-top:0; padding-top:0; border-top:0; }
.k-desc .k-std { color:var(--muted); font-size:14px; margin:0 0 8px; }
.k-ul { margin:0 0 12px; padding-left:20px; }
.k-ul li { margin:3px 0; }

/* Лента «Заключение Минпромторга» на фото карточки и страницы товара */
.k-mpt { position:absolute; left:0; top:12px; z-index:2; padding:4px 9px 4px 7px; border-radius:0 6px 6px 0; background:var(--accent); color:#fff; font-size:11px; line-height:1.2; font-weight:600; text-decoration:none; box-shadow:0 1px 3px rgba(0,0,0,.18); }
a.k-mpt:hover { filter:brightness(1.1); }
.k-mpt { width:min-content; }   /* две строки: «Заключение / Минпромторга» */
.k-img .k-mpt { top:10px; font-size:10px; line-height:1.15; padding:3px 7px 3px 5px; }
.k-gal { position:relative; }
.k-img .k-sale + .k-mpt { top:32px; }

/* Плитки каталога: строка «Заключение Минпромторга» над названием */
.k-mptl { display:flex; align-items:center; gap:4px; font-size:11px; line-height:1.2; color:var(--accent); font-weight:600; margin-top:2px; }
.k-mptl i { font-style:normal; flex:none; display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--accent); color:#fff; font-size:10px; }

/* Страница поиска: переключатели «только в наличии» */
.k-sbar { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin:0 0 14px; padding:10px 12px; background:var(--card); border:1px solid var(--line); border-radius:10px; }
.k-sbar[hidden] { display:none; }
.k-sbar-l { display:flex; gap:6px; align-items:center; font-size:14px; cursor:pointer; }
.k-sbar-l input { width:auto; margin:0; }
.k-sbar-l[hidden] { display:none; }
.k-sku { font-size:12px; color:var(--accent); font-weight:600; }
