.subcat-chips { display:flex; flex-wrap:nowrap; gap:var(--space-2); margin-bottom:var(--space-4); overflow-x:auto; padding-bottom:var(--space-1); -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.subcat-chips::-webkit-scrollbar { display:none; }
@media (min-width:640px) { .subcat-chips { flex-wrap:wrap; margin-bottom:var(--space-6); } }
.subcat-chip { padding:var(--space-2) var(--space-4); border:1.5px solid var(--color-fog); border-radius:var(--radius-full); font-size:var(--text-xs); font-weight:600; color:var(--color-slate); cursor:pointer; transition:all var(--transition-fast); text-transform:uppercase; letter-spacing:0.04em; background:var(--color-white); white-space:nowrap; min-height:36px; display:flex; align-items:center; flex-shrink:0; }
.subcat-chip:hover, .subcat-chip--active { border-color:var(--color-forest); background:var(--color-forest); color:var(--color-white); }

.category-hero { background:linear-gradient(135deg, var(--color-forest-dark) 0%, var(--color-forest) 100%); border-radius:var(--radius-lg); padding:var(--space-5); margin-bottom:var(--space-4); position:relative; overflow:hidden; }
@media (min-width:640px)  { .category-hero { padding:var(--space-7) var(--space-8); border-radius:var(--radius-xl); margin-bottom:var(--space-6); } }
@media (min-width:1024px) { .category-hero { padding:var(--space-8) var(--space-10); } }
.category-hero__title { font-family:var(--font-display); font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl)); font-weight:800; color:var(--color-white); text-transform:uppercase; letter-spacing:var(--tracking-tight); line-height:var(--leading-tight); }
.category-hero__desc { font-size:var(--text-sm); color:oklch(82% 0.05 145); margin-top:var(--space-2); line-height:var(--leading-relaxed); display:none; }
@media (min-width:640px) { .category-hero__desc { display:block; } }
.category-hero__bg { position:absolute; right:-20px; top:-20px; opacity:0.07; pointer-events:none; }
.category-hero__count { display:inline-block; background:rgba(255,255,255,.15); border-radius:var(--radius-full); padding:2px 10px; font-size:var(--text-sm); color:var(--color-white); margin-top:var(--space-3); }

.sidebar-promo { background:var(--color-forest); border-radius:var(--radius-lg); padding:var(--space-5); margin-top:var(--space-6); text-align:center; }
.sidebar-promo__title { font-family:var(--font-display); font-size:var(--text-lg); font-weight:700; color:var(--color-white); text-transform:uppercase; margin-bottom:var(--space-2); }
.sidebar-promo__desc { font-size:var(--text-xs); color:oklch(80% 0.05 145); margin-bottom:var(--space-4); line-height:var(--leading-relaxed); }
.sidebar-promo__cta { display:flex; align-items:center; justify-content:center; background:var(--color-white); color:var(--color-forest); text-align:center; padding:var(--space-3) var(--space-4); border-radius:var(--radius-md); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:0.04em; min-height:44px; }
.sidebar-promo__cta:hover { background:oklch(95% 0.03 145); }

.not-found-notice { padding:var(--space-6); background:var(--color-mist); border-radius:var(--radius-lg); text-align:center; font-size:var(--text-sm); color:var(--color-muted); margin-top:var(--space-6); }
.not-found-notice a { color:var(--color-forest); font-weight:600; }
.not-found-notice--blank { background:none; border-radius:0; padding:var(--space-10) 0; }

/* Price slider */
#price_slider { margin-top:var(--space-3); }

/* More brands button */
.more-brands-btn { font-size:var(--text-xs); color:var(--color-forest); margin-top:var(--space-2); background:none; border:none; cursor:pointer; padding:0; }

/* Category image banner */
.category-image-wrap { margin-bottom:var(--space-4); border-radius:var(--radius-lg); overflow:hidden; }
.category-image { width:100%; max-height:200px; object-fit:cover; display:block; }

/* Filter mobile trigger content */
.filter-trigger-label { display:flex; align-items:center; gap:var(--space-2); }
.filter-trigger-count { font-size:var(--text-xs); color:var(--color-muted); }
.filter-badge { background:var(--color-forest); color:#fff; border-radius:var(--radius-full); width:20px; height:20px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }

/* Page layout variants */
.page-layout--no-top { padding-top:0; margin-top:var(--space-4); }

/* Sidebar section (category tree) */
.sidebar-section { margin-top:var(--space-6); }
.sidebar-section-title {
  font-family:var(--font-display); font-size:var(--text-sm); font-weight:700;
  text-transform:uppercase; letter-spacing:var(--tracking-wide);
  color:var(--color-forest); margin-bottom:var(--space-3);
  padding-bottom:var(--space-2); border-bottom:2px solid var(--color-forest);
}

.side-navbar { list-style:none; padding:0; margin:0; font-size:var(--text-sm); }
.side-navbar > li { border-bottom:1px solid var(--color-fog); }
.side-navbar > li:last-child { border-bottom:none; }
.side-navbar > li > a {
  display:block; padding:var(--space-2) var(--space-2);
  color:var(--color-slate); font-weight:500; text-decoration:none;
  border-left:3px solid transparent;
  transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.side-navbar > li > a:hover { color:var(--color-forest); background:var(--color-mist); border-left-color:var(--color-forest); }
.side-navbar > li.active > a { color:var(--color-forest); font-weight:700; border-left-color:var(--color-forest); background:var(--color-mist); }

/* Vnořené podkategorie */
.side-navbar ul { list-style:none; padding:0 0 var(--space-2) var(--space-4); margin:0; }
.side-navbar ul li { border-bottom:none; }
.side-navbar ul a {
  display:block; padding:var(--space-1) var(--space-2);
  font-size:var(--text-xs); color:var(--color-muted); text-decoration:none;
  border-radius:var(--radius-sm);
  transition:color var(--transition-fast), background var(--transition-fast);
}
.side-navbar ul a:hover { color:var(--color-forest); background:var(--color-mist); }
.side-navbar ul li.active > a { color:var(--color-forest); font-weight:600; }

/* No-image placeholder inside product card */
.product-card__img--placeholder { display:flex; align-items:center; justify-content:center; background:var(--color-mist); }

#next_products { display:flex; align-items:center; justify-content:center; gap:var(--space-2); width:100%; margin:var(--space-6) 0; padding:var(--space-4); background:var(--color-white); border:1.5px solid var(--color-fog); border-radius:var(--radius-lg); font-size:var(--text-sm); font-weight:600; color:var(--color-slate); cursor:pointer; transition:all var(--transition-fast); }
#next_products:hover { border-color:var(--color-forest); color:var(--color-forest); }

.products--list { display:flex !important; flex-direction:column; gap:var(--space-3); }
.products--list .product-card { display:flex; flex-direction:row; }
.products--list .product-card__img-wrap { width:120px; height:120px; flex-shrink:0; border-radius:var(--radius-md) 0 0 var(--radius-md); }
.products--list .product-card__img { width:100%; height:100%; object-fit:contain; }
.products--list .product-card__body { flex:1; }
.products--list .product-card__footer { display:flex; align-items:center; padding:var(--space-3); border-top:none; border-left:1px solid var(--color-fog); }
@media (min-width:640px) { .products--list .product-card__img-wrap { width:160px; height:160px; } }
