/* Каталог /katalog/… и чертёж-заглушка: внутри шапки и подвала текущей темы; цвета и шрифт — от темы, как у страницы модели */
.kt, .mp {
  --bp-paper: #fbf7ea; --bp-grid: rgba(122, 83, 32, .16); --bp-grid-s: rgba(122, 83, 32, .07); --bp-ink: #2f2c27; --bp-accent: #a6742e
}
.kt {
  --accent: #9a6b22; --accent-ink: #fff; --ink-2: #5d574c; --rule: #e2d9c4; --card: #fffdf7; --soft: #f3ecd9; --r: 16px;
  --display: var(--tn-serif), Georgia, serif; --dw: 500; --dl: -.02em;
  width: min(1240px, 100% - 32px); margin: 0 auto; padding: 24px 0 88px; box-sizing: border-box; display: flex; flex-direction: column; gap: 56px
}
.kt-v4 { --accent: #e8590c; --ink-2: #5b6068; --rule: #dde1e6; --card: #fff; --soft: #f1f3f5; --r: 14px; --display: var(--t4-display), sans-serif; --dw: 500; --dl: -.02em }
.kt-v6 { --accent: #173a63; --ink-2: #5e6c7b; --rule: #dce2e7; --card: #fff; --soft: #eef2f5; --r: 4px; --display: var(--t6-display), sans-serif; --dw: 300; --dl: -.04em }
.kt-v4, .mp-v4 { --bp-paper: #f7f9fb; --bp-grid: rgba(37, 99, 235, .14); --bp-grid-s: rgba(37, 99, 235, .06); --bp-ink: #1f2933; --bp-accent: #e8590c }
.kt-v6, .mp-v6 { --bp-paper: #f3f7fb; --bp-grid: rgba(23, 58, 99, .16); --bp-grid-s: rgba(23, 58, 99, .07); --bp-ink: #0b1b2e; --bp-accent: #2f6fb3 }
.kt * { box-sizing: border-box }
.kt > section { margin: 0; padding: 0; background: none; min-height: 0 }
.kt h1, .kt h2 { font-family: var(--display); font-weight: var(--dw); letter-spacing: var(--dl); margin: 0; text-wrap: balance }
.kt h1 { font-size: clamp(38px, 5vw, 72px); line-height: 1.02 }
.kt h2 { font-size: clamp(26px, 2.8vw, 40px); line-height: 1.1 }
.kt p { margin: 0 }
.kt a { color: inherit }
.kt-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--ink-2) }
.kt-crumbs a { text-decoration: none }
.kt-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px }
.kt-lead { margin-top: 18px !important; font-size: 18px; line-height: 1.65; color: var(--ink-2); max-width: 68ch }
.kt-head { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: clamp(20px, 4vw, 56px); align-items: end }
.kt-find { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: var(--r); background: var(--card); border: 1px solid var(--rule); font-size: 14px; font-weight: 600 }
.kt-find input { font: inherit; font-weight: 400; font-size: 16px; min-height: 50px; padding: 0 16px; border-radius: calc(var(--r) * .75); border: 1px solid var(--rule); background: #fff; color: inherit; width: 100% }
.kt-find input:focus { outline: 2px solid var(--accent); outline-offset: 1px }
.kt-find small { font-weight: 400; color: var(--ink-2) }

/* фото работ в шапке раздела */
.kt-works { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px }
.kt-works figure { margin: 0 }
.kt-works img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); display: block }
.kt-works figcaption { margin-top: 8px; font-size: 14px; color: var(--ink-2) }

/* разделы и марки плитками */
.kt-tiles { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px }
.kt-tile { display: flex; flex-direction: column; height: 100%; border-radius: var(--r); overflow: hidden; background: var(--card); border: 1px solid var(--rule); text-decoration: none; transition: border-color .2s }
.kt-tile:hover { border-color: var(--accent) }
.kt-tile-img { display: block; aspect-ratio: 16 / 10; background: var(--soft); overflow: hidden }
.kt-tile-img img, .kt-tile-img svg { width: 100%; height: 100%; object-fit: cover; display: block }
.kt-tile-b { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px }
.kt-tile-b b { font-family: var(--display); font-weight: var(--dw); letter-spacing: var(--dl); font-size: 22px; line-height: 1.15 }
.kt-tile-b span { font-size: 14px; color: var(--ink-2); line-height: 1.45 }
.kt-tile-b em { font-style: normal; font-size: 14px; font-weight: 700; color: var(--accent) }
.kt-brands { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 10px }
.kt-brands a { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border-radius: calc(var(--r) * .8); background: var(--card); border: 1px solid var(--rule); text-decoration: none; height: 100% }
.kt-brands a:hover { border-color: var(--accent) }
.kt-brands b { font-size: 17px }
.kt-brands span { font-size: 13px; color: var(--ink-2) }

/* что шьём и почём */
.kt-covers { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 12px }
.kt-covers li { padding: 20px; border-radius: var(--r); background: var(--soft); display: flex; flex-direction: column; gap: 6px }
.kt-covers b { font-size: 16px }
.kt-covers span { font-family: var(--display); font-weight: var(--dw); letter-spacing: var(--dl); font-size: 26px; line-height: 1.1 }

/* список моделей строками */
.kt-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px }
.kt-chip { font: inherit; font-size: 14px; font-weight: 600; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--rule); background: transparent; color: inherit; cursor: pointer }
.kt-chip[aria-pressed='true'] { background: var(--bp-ink); border-color: var(--bp-ink); color: #fff }
.kt-list { margin: 18px 0 0; padding: 0; list-style: none; border-radius: var(--r); background: var(--card); border: 1px solid var(--rule); overflow: hidden }
.kt-row { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 22px; border-bottom: 1px solid var(--rule) }
.kt-row:last-child { border-bottom: 0 }
.kt-row[hidden] { display: none }
.kt-row > a:first-child { font-family: var(--display); font-weight: var(--dw); letter-spacing: var(--dl); font-size: 20px; line-height: 1.2; text-decoration: none }
.kt-row > a:first-child:hover { color: var(--accent) }
.kt-row ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px }
.kt-row li { font-size: 13px; padding: 6px 10px; border-radius: 999px; background: var(--soft); color: var(--ink-2); white-space: nowrap }
.kt-row li b { color: var(--bp-ink); font-weight: 700 }
.kt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: calc(var(--r) * .75); border: 1px solid currentColor; font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap }
.kt-btn:hover { background: var(--bp-ink); border-color: var(--bp-ink); color: #fff }
.kt-btn-main { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); min-height: 54px; padding: 0 26px; font-size: 16px }
.kt-btn-main:hover { filter: brightness(1.08); background: var(--accent); border-color: var(--accent) }
.kt-empty { padding: 22px; color: var(--ink-2) }
.kt-count { margin-top: 10px; font-size: 14px; color: var(--ink-2) }

.kt-text { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); padding-top: 28px; border-top: 1px solid var(--rule) }
.kt-text p { margin-top: 14px; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); max-width: 66ch; white-space: pre-line }
.kt > .kt-cta, .kt-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: clamp(24px, 4vw, 40px); border-radius: calc(var(--r) * 1.4); background: var(--bp-ink); color: #fff }
.kt-cta b { font-family: var(--display); font-weight: var(--dw); letter-spacing: var(--dl); font-size: clamp(24px, 2.6vw, 34px); display: block }
.kt-cta p { margin-top: 6px; opacity: .8 }
.kt-cta a { background: #fff; color: var(--bp-ink); border-color: #fff }
.kt-cta a:hover { background: #fff; color: var(--bp-ink); filter: brightness(.95) }
.kt-links { margin-top: 14px !important; font-size: 16px; line-height: 2; color: var(--ink-2) }
.kt-links a { text-decoration: underline; text-underline-offset: 3px }

/* чертёж-заглушка */
.bp { display: block; width: 100%; height: 100%; font-family: var(--tn-mono, ui-monospace), ui-monospace, monospace }
.bp-paper { fill: var(--bp-paper) }
.bp-grid { fill: none; stroke: var(--bp-grid); stroke-width: 1 }
.bp-grid-s { fill: none; stroke: var(--bp-grid-s); stroke-width: .6 }
.bp-frame { fill: none; stroke: var(--bp-ink); stroke-width: 1.2; opacity: .55 }
.bp-line { fill: none; stroke: var(--bp-ink); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round }
.bp-cover { fill: var(--bp-accent); fill-opacity: .12; stroke: var(--bp-accent); stroke-width: 2; stroke-dasharray: 7 5; stroke-linejoin: round }
.bp-dim { stroke: var(--bp-ink); stroke-width: 1; opacity: .7 }
.bp-arrow { fill: none; stroke: var(--bp-ink); stroke-width: 1.4 }
.bp-dim-t { fill: var(--bp-ink); font-size: 13px; opacity: .8 }
.bp-stamp rect { fill: var(--bp-paper); stroke: var(--bp-ink); stroke-width: 1.2 }
.bp-stamp line { stroke: var(--bp-ink); stroke-width: 1 }
.bp-stamp-k { fill: var(--bp-ink); font-size: 11px; opacity: .75 }
.bp-stamp-t { fill: var(--bp-ink); font-size: 15px; font-weight: 700 }
.mp-bp { aspect-ratio: 16 / 10; border-radius: var(--r); overflow: hidden; border: 1px solid var(--rule) }
.mp-bp-note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink-2) }

@media (max-width: 900px) {
  .kt { gap: 40px }
  .kt-head, .kt-text { grid-template-columns: 1fr }
  .kt-works { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .kt-works figure:nth-child(3) { display: none }
  .kt-row { grid-template-columns: 1fr; gap: 10px; padding: 16px }
  .kt-row .kt-btn { justify-self: start }
  .kt-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px }
  .kt-brands a { padding: 12px 14px; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 8px }
  .kt-brands b { font-size: 15px }
}
