/* Catalog page — rules from design/Katalog.dc.html (cards are in cards.css). */
.kt-head{padding-block:28px 8px;display:flex;flex-direction:column;gap:14px}
.kt-head h1{margin:0;font:800 45px/1.15 Gilroy, Manrope, sans-serif;text-transform:uppercase}
.kt-head h1 small{font:600 18px/1 Gilroy, Manrope, sans-serif;text-transform:none;color:#3a3a3a;margin-left:12px}
.kt-intro{margin:0;font:400 18px/1.5 Gilroy, Manrope, sans-serif;color:#3a3a3a;max-width:760px}
.kt-body{display:flex;flex-wrap:wrap;gap:32px;padding-block:24px 96px;align-items:flex-start}
.kt-side{flex:1 1 260px;max-width:100%;display:flex;flex-direction:column;gap:24px}
.kt-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:32px}
.kt-side-head{display:flex;align-items:center;justify-content:space-between}
.kt-side-head h2{margin:0;font:800 24px/1.2 Gilroy, Manrope, sans-serif;text-transform:uppercase}
.kt-reset{font:700 14px/1 Gilroy, Manrope, sans-serif;color:#000000;text-decoration:underline;text-decoration-color:#f8bc16;text-decoration-thickness:2px;text-underline-offset:4px}
.kt-reg{background:#f8bc16;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px}
.kt-reg h3{margin:0;font:800 20px/1.2 Gilroy, Manrope, sans-serif;text-transform:uppercase}
.kt-reg p{margin:0;font:500 15px/1.4 Gilroy, Manrope, sans-serif}
.kt-best--m{display:none}
.kt-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.kt-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kt-chip{height:40px;padding:0 16px;border-radius:30px;border:2px solid #ececec;background:#ffffff;font:700 14px/1 Gilroy, Manrope, sans-serif;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#000000}
.kt-chip:hover{border-color:#000000}
.kt-chip[aria-pressed="true"]{background:#000000;border-color:#000000;color:#f8bc16}
.kt-filter-btn{display:none}
.kt-sort{display:flex;align-items:center;gap:10px;font:600 15px/1 Gilroy, Manrope, sans-serif}
.kt-sort select{height:44px;border:2px solid #000000;border-radius:30px;padding:0 40px 0 18px;font:600 15px/1 Gilroy, Manrope, sans-serif;background:#ffffff;color:#000000;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#000000 50%),linear-gradient(135deg,#000000 50%,transparent 50%);background-position:calc(100% - 22px) 19px,calc(100% - 16px) 19px;background-size:6px 6px;background-repeat:no-repeat}
.kt-active{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font:600 14px/1 Gilroy, Manrope, sans-serif;color:#3a3a3a}
.kt-tag{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 14px;border-radius:30px;background:#f8bc16;color:#000000;font:700 14px/1 Gilroy, Manrope, sans-serif}
.kt-tag button{width:22px;height:22px;border-radius:50%;border:0;background:#000000;color:#f8bc16;font:700 13px/1 Gilroy, Manrope, sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.kt-more{display:flex;flex-direction:column;align-items:center;gap:20px}
.kt-more-info{font:600 15px/1 Gilroy, Manrope, sans-serif;color:#3a3a3a}
.kt-pager{display:flex;gap:8px;align-items:center}
.kt-pager a,.kt-pager span{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 16px/1 Gilroy, Manrope, sans-serif;text-decoration:none;color:#000000;border:2px solid #ececec}
.kt-pager [aria-current="page"]{background:#000000;color:#f8bc16;border-color:#000000}
.kt-seo{border-top:1px solid #ececec;padding-top:32px;display:flex;flex-direction:column;gap:12px}
.kt-seo h2{margin:0;font:800 24px/1.2 Gilroy, Manrope, sans-serif;text-transform:uppercase}
.kt-seo p{margin:0;font:400 16px/1.6 Gilroy, Manrope, sans-serif;color:#3a3a3a;max-width:820px}
.kt-reg .kb-btn{font-size:14px;padding:0 12px;white-space:nowrap;letter-spacing:.01em}
.kt-filter-form{display:flex;flex-direction:column;gap:24px;margin:0}
/* Kubetol.FilterGroup sets these inline on the <fieldset> */
.kt-side fieldset.kb-filter{border:0;margin:0;padding:0 0 24px;border-bottom:1px solid #ececec;min-width:0}
.kt-side .kb-filter legend{padding:0;margin-bottom:12px}
.kt-chip{text-decoration:none}
a.kt-chip:hover{color:#000000}
a.kt-chip[aria-pressed="true"]:hover{color:#f8bc16}
.kt-tag a{width:22px;height:22px;border-radius:50%;background:#000000;color:#f8bc16;font:700 13px/1 Gilroy, Manrope, sans-serif;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.kt-pager .page-numbers{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 16px/1 Gilroy, Manrope, sans-serif;text-decoration:none;color:#000000;border:2px solid #ececec;box-sizing:border-box}
.kt-pager .page-numbers.current{background:#000000;color:#f8bc16;border-color:#000000}
.kt-pager .page-numbers.dots{border-color:transparent}
.kt-pager .page-numbers .kb-sr{width:1px;height:1px;border:0}
.kt-pager .kb-icon{width:18px;height:18px}
.kt-seo p{margin:0}
.kt-empty{border:2px dashed #ececec;border-radius:24px;padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.kt-empty h2{margin:0;font:800 22px/1.25 Gilroy, Manrope, sans-serif;text-transform:uppercase}
.kt-empty p{margin:0;font:500 16px/1.5 Gilroy, Manrope, sans-serif;color:#3a3a3a;max-width:520px}
.kt-close,.kt-modal-foot{display:none}
.kt-fico{width:18px;height:18px;flex:none}
.kt-reg .kb-btn{font-size:14px;padding:0 12px;white-space:nowrap;letter-spacing:.01em}
.kb-btn{white-space:nowrap}
[data-catalog].is-loading .kt-main{opacity:.5;transition:opacity .15s}
.kb-check span:not(.kb-check__count){min-width:0}
html.kt-lock{overflow:hidden}
/* desktop: after "Nejprodávanější" has scrolled away the filters follow as a sticky panel (catalog.js) */
@media (min-width:761px){
.kt-side--stick{align-self:stretch}
.kt-side--stick .kt-filter-form{order:9;position:sticky;top:calc(var(--sh-offset, 0px) + 16px)} /* top is refined per frame by catalog.js */
.kt-side--stick .kt-reg{display:none}
/* sticky panel taller than the screen: tighter spacing (catalog.js adds the class) */
.kt-side--compact .kt-filter-form{gap:12px}
.kt-side--compact fieldset.kb-filter{padding:0 0 12px}
.kt-side--compact .kb-filter legend{margin-bottom:6px}
}
@media (max-width:760px){
.kt-head{padding-block:20px 0}
.kt-head h1{font-size:30px}
.kt-head h1 small{display:block;margin:6px 0 0}
.kt-intro{font-size:16px}
.kt-body{padding-block:16px 64px;gap:24px}
.kt-side{display:none}
.kt-filter-btn{display:inline-flex}
.kt-bar{flex-direction:column;align-items:stretch}
.kt-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
.kt-chip{flex:none}
.kt-sort{justify-content:space-between}
.kt-sort select{flex:1}
.kt-best--m{display:block}
.kt-more .kb-btn{font-size:16px;padding-inline:20px;height:48px}
.kt-main > .kt-best{order:1}.kt-main > .kt-seo{order:2}
/* mobil: jedno tlačítko Filtry + modální okno se všemi filtry */
.kt-bar{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:10px}
.kt-chips{display:none}
.kt-filter-btn{display:inline-flex;flex:none;height:44px;padding:0 14px;gap:8px;border-color:#000000}
.kt-filter-btn .kb-icon{font-size:16px}
.kt-sort{flex:1;min-width:0;font-size:0;gap:0}
.kt-sort select{width:100%;min-width:0}
.kt-sort select{height:48px;border-radius:15px} /* same as .kt-filter-btn (layout.css mobile buttons) */
.kt-side.kt-side--open{display:flex;position:fixed;inset:0;z-index:100;background:#ffffff;overflow-y:auto;padding:16px 16px 0;gap:20px;max-width:none}
.kt-side--open .kt-side-head{position:sticky;top:-16px;background:#ffffff;margin:-16px -16px 0;padding:16px;border-bottom:1px solid #ececec;z-index:1}
.kt-side--open .kt-reset,.kt-side--open .kt-reg,.kt-side--open .kt-best{display:none}
.kt-side--open .kt-close{display:inline-flex;width:40px;height:40px;border-radius:50%;border:0;background:#ececec;color:#000000;align-items:center;justify-content:center;cursor:pointer;padding:0}
.kt-side--open .kt-close svg{width:18px;height:18px}
.kt-side--open .kt-modal-foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;position:sticky;bottom:0;margin:auto -16px 0;padding:12px 16px 16px;background:#ffffff;border-top:1px solid #ececec}
.kt-side--open .kt-filter-form{gap:20px;flex:1 0 auto}
.kt-modal-foot .kb-btn{white-space:nowrap;font-size:15px;padding-inline:18px}
/* mobil: menší okraje a zaoblení bloků */
body .kt-reg{padding:12px;border-radius:12px}
}
