.kt-head h1 { font-size: var(--text-3xl); margin-bottom: var(--space-2); overflow-wrap: anywhere; }
.kt-lead { color: var(--color-text-secondary); max-width: 70ch; margin-bottom: var(--space-6); }
.kt-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
.kt-side { display: grid; gap: var(--space-4); align-content: start; min-width: 0; }
@media (min-width: 1024px) {
  .kt-grid { grid-template-columns: 280px minmax(0, 1fr); }
  .kt-side { position: sticky; top: 88px; align-self: start; max-height: calc(100vh - 100px); overflow: auto; padding-right: 4px; }
}
.kt-field { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.kt-field > label, .kt-field legend { font-size: var(--text-sm); font-weight: 600; color: var(--color-text-primary); }
.kt-field legend { margin-bottom: 6px; padding: 0; }
.kt-opt, .kt-check label { display: flex; align-items: center; gap: 8px; min-height: 40px; font-size: var(--text-sm); font-weight: 400; color: var(--color-text-primary); }
.kt-check { gap: 0; }
.kt-field input[type=text], .kt-field input[type=search], .kt-field input[type=number], .kt-field select {
  width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md); background: var(--color-bg-primary); color: var(--color-text-primary); font: inherit;
}
.kt-q { display: flex; gap: 8px; }
.kt-q input { flex: 1; min-width: 0; }
.kt-q .btn { min-height: 44px; }
.kt-cena { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kt-cena label { display: grid; gap: 4px; font-size: var(--text-sm); color: var(--color-text-secondary); }
.kt-side input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--color-primary); }
.kt-dlg { position: static; border: 0; padding: 0; margin: 0; background: transparent; color: inherit; max-width: none; width: auto; display: grid; gap: var(--space-4); }
.kt-dlg:not([open]) { display: grid; }
.kt-dlg::backdrop { background: rgba(0, 0, 0, 0.5); }
.kt-dlg-head { display: none; }
.kt-dlg-x { min-width: 44px; min-height: 44px; font-size: 1.5rem; line-height: 1; }
.kt-dlg-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.kt-dlg-actions .btn { min-height: 44px; }
.kt-bar .kt-open { display: none; min-height: 44px; }
.kt-main { min-width: 0; }
.kt-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); }
.kt-count { margin: 0 auto 0 0; }
.kt-view { display: inline-flex; border: 1px solid var(--color-border-default); border-radius: var(--radius-md); overflow: hidden; }
.kt-view a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; color: var(--color-text-primary); text-decoration: none; font-size: var(--text-sm); }
.kt-view a[aria-current], .kt-view a[aria-current]:link, .kt-view a[aria-current]:visited, .kt-view a[aria-current]:hover { background: var(--color-primary); color: var(--color-text-on-primary); font-weight: 600; text-decoration: none; }
.kt-view a:not([aria-current]):visited { color: var(--color-text-primary); }
.kt-sort { display: flex; align-items: center; gap: 8px; min-width: 0; }
.kt-sort label { font-size: var(--text-sm); color: var(--color-text-secondary); }
.kt-sort select { min-height: 40px; padding: 6px 10px; border: 1px solid var(--color-border-default); border-radius: var(--radius-md); background: var(--color-bg-primary); color: var(--color-text-primary); font: inherit; font-size: var(--text-sm); max-width: 100%; }
.kt-hint { font-size: var(--text-xs); color: var(--color-text-secondary); margin: 0 0 var(--space-2); }
.kt-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: var(--space-3) 0; }
.kt-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--color-border-strong); border-radius: 999px; color: var(--color-text-primary); text-decoration: none; font-size: var(--text-sm); background: var(--color-bg-secondary); max-width: 100%; }
.kt-chip span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kt-clear { font-size: var(--text-sm); min-height: 40px; display: inline-flex; align-items: center; }
.kt-list { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
@media (min-width: 1200px) { .kt-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kt-list > li { display: flex; min-width: 0; }
.kt-karta { width: 100%; }
.kt-small { font-size: var(--text-xs); color: var(--color-text-secondary); margin: 2px 0; }
.kt-price { font-weight: 700; color: var(--color-text-primary); margin: 4px 0; }
.kt-incl { margin: 0 0 4px; padding-left: 18px; font-size: var(--text-sm); }
.kt-empty { padding: var(--space-6); margin-top: var(--space-4); }
.kt-empty-t { font-size: var(--text-lg); font-weight: 600; }
.kt-podp { margin: var(--space-3) 0 0; padding-left: 18px; }
.kt-pages { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: center; margin-top: var(--space-6); }
.kt-pages .btn { min-height: 44px; }
.kt-disclaimer { font-size: var(--text-xs); color: var(--color-text-tertiary); margin-top: var(--space-8); }
@media (max-width: 1023px) {
  .kt-js .kt-bar .kt-open { display: inline-flex; }
  .kt-js .kt-dlg:not([open]) { display: none; }
  .kt-js .kt-dlg[open] { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: var(--space-4); background: var(--color-bg-primary); overflow: auto; align-content: start; z-index: 1000; }
  .kt-js .kt-dlg[open] .kt-dlg-head { display: flex; justify-content: space-between; align-items: center; }
  .kt-js .kt-dlg[open] .kt-dlg-actions { position: sticky; bottom: calc(-1 * var(--space-4)); background: var(--color-bg-primary); padding: var(--space-3) 0; border-top: 1px solid var(--color-border-subtle); }
  .kt-bar { position: sticky; top: 64px; z-index: 5; background: var(--color-bg-primary); padding: 8px 0; }
}
@media (forced-colors: active) {
  .kt-chip, .kt-karta, .kt-view, .kt-field input, .kt-field select { border: 1px solid CanvasText; }
  .kt-view a[aria-current] { outline: 2px solid Highlight; }
}
