/* CPS eShop product listing */
/* ── Products Page Enhancements ────────────────────────── */
  .kimo-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--kimo-muted);
    flex-wrap: wrap;
  }
  .kimo-breadcrumb a {
    text-decoration: none;
    color: var(--kimo-muted);
    transition: color .15s ease;
  }
  .kimo-breadcrumb a:hover { color: var(--kimo-primary-dark); }
  .kimo-breadcrumb-sep { color: var(--kimo-border); }
  .kimo-breadcrumb-active { color: var(--kimo-text); font-weight: 900; }

  /* Filter sidebar improvements */
  .kimo-filter-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--kimo-border);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    background: #FFFFFF;
    color: var(--kimo-text);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .kimo-filter-input:focus {
    border-color: var(--kimo-accent);
    box-shadow: 0 0 0 3px rgba(255,193,7,.10);
  }
  .kimo-filter-small {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--kimo-border);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    background: #FFFFFF;
    color: var(--kimo-text);
    outline: none;
    transition: border-color .2s ease;
  }
  .kimo-filter-small:focus {
    border-color: var(--kimo-accent);
    box-shadow: 0 0 0 3px rgba(255,193,7,.10);
  }

  /* Make actions row always visible on touch devices */
  @media (hover: none) {
    .kimo-actions-row {
      opacity: 1 !important;
      transform: none !important;
      pointer-events: auto !important;
    }
    .kimo-card-atc-overlay {
      opacity: 1 !important;
      pointer-events: auto !important;
    }
    .kimo-card-atc-overlay .kimo-btn {
      opacity: 1 !important;
      transform: none !important;
    }
    .kimo-card-wish-btn {
      opacity: 1 !important;
      transform: scale(1) !important;
    }
  }

.cps-products-page { padding-block:16px 40px; }
.cps-products-breadcrumb { margin-block-end:16px; }
.cps-products-layout { margin-block-start:0; }
.kimo-filter-toggle-label { display:inline-flex; align-items:center; gap:8px; }
.kimo-filter-head, .kimo-filter-head-actions, .cps-products-header, .cps-products-count-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.kimo-filter-head h3 { margin:0; font-weight:900; font-size:16px; }
.kimo-filter-head-actions { gap:8px; }
.kimo-filter-close-mobile { border:1px solid #e2e2e2; border-radius:10px; background:#fff; padding:6px 14px; font-weight:800; font-size:12px; cursor:pointer; color:var(--kimo-text); }
.kimo-filter-clear { font-weight:800; text-decoration:none; font-size:12px; }
.kimo-filter-section { margin-block-start:16px; }
.kimo-filter-section:first-of-type { margin-block-start:14px; }
.kimo-filter-label { font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.8px; color:var(--kimo-muted); margin-block-end:8px; }
.kimo-filter-row { font-weight:900; display:flex; align-items:center; justify-content:space-between; padding-block:10px; border-block-end:1px solid var(--kimo-border); }
.kimo-filter-row input { inline-size:18px; block-size:18px; accent-color:var(--kimo-accent); }
.kimo-filter-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.kimo-filter-actions { margin-block-start:20px; display:flex; flex-direction:column; gap:8px; }
.kimo-filter-actions .kimo-btn { text-decoration:none; text-align:center; inline-size:100%; }
.cps-products-header { align-items:flex-end; gap:12px; flex-wrap:wrap; margin-block-end:16px; }
.cps-products-title { margin:0; font-weight:900; font-size:clamp(24px,3vw,28px); letter-spacing:-.5px; line-height:1.2; }
.cps-products-subtitle { margin-block-start:6px; font-size:14px; color:var(--kimo-muted); font-weight:600; }
.cps-products-controls { margin-block:0 16px; }
.cps-products-showing { font-size:13px; font-weight:600; color:var(--kimo-muted); }
.cps-products-showing strong { color:var(--kimo-text); font-weight:800; }
.cps-control-label { display:flex; align-items:center; gap:8px; font-weight:800; font-size:13px; }
.kimo-card-link { text-decoration:none; color:inherit; }
.kimo-noimg-fill { height:100%; }
.kimo-contact-price { font-weight:900; }
.cps-products-pager { display:flex; justify-content:center; margin-block-start:24px; }
@media (min-width: 769px) { .kimo-filter-close-mobile { display:none; } }


/* Runtime correctness guard: full catalogue pages are always responsive grids. */
.cps-products-page [data-kimo-grid],
.cps-products-page .kimo-grid,
.cps-products-page .kimo-grid-carousel {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  gap: 18px !important;
}
.cps-products-page [data-kimo-grid] > .kimo-card {
  min-inline-size: 0 !important;
  inline-size: 100% !important;
  max-inline-size: none !important;
  flex: initial !important;
  scroll-snap-align: none !important;
}
.cps-products-page .kimo-card-img-wrap,
.cps-products-page .kimo-card-img { background: #fff !important; }
.cps-products-page .kimo-card-img img { object-fit: contain !important; background:#fff !important; }
.cps-products-page .kimo-card-contact-overlay .kimo-btn { text-decoration:none; }
@media (max-width: 1180px) {
  .cps-products-page [data-kimo-grid], .cps-products-page .kimo-grid, .cps-products-page .kimo-grid-carousel { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
  .cps-products-page [data-kimo-grid], .cps-products-page .kimo-grid, .cps-products-page .kimo-grid-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap:12px !important; }
}
@media (max-width: 470px) {
  .cps-products-page [data-kimo-grid], .cps-products-page .kimo-grid, .cps-products-page .kimo-grid-carousel { grid-template-columns: minmax(0, 1fr) !important; }
}

.cps-listing-card-enter { animation-delay: calc(var(--cps-card-index, 0) * 45ms); }
.cps-listing-empty,
.cps-listing-error {
  grid-column: 1 / -1;
  min-block-size: 240px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 32px;
  border: 1px dashed var(--kimo-border);
  border-radius: var(--kimo-radius);
  background: var(--kimo-surface);
  color: var(--kimo-muted);
  text-align: center;
}
.cps-listing-empty > span { font-size: 36px; color: var(--kimo-primary-dark); }
