/* ── Siatka produktów — 5 kolumn jak Maxim ── */
.products-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
@media (max-width: 1200px) { .products-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .products-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── Karta produktu ── */
.product-card {
  background: var(--color-soot);
  border: 1px solid var(--color-ink-soft);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.product-card:hover {
  border-color: var(--color-mint);
  box-shadow: 0 6px 24px rgba(117,218,180,.12);
  transform: translateY(-2px);
}

/* ── Nagłówek karty (nazwa na górze jak Maxim) ── */
.card-header {
  padding: 8px 10px 6px;
  border-bottom: 1px solid var(--color-ink-soft);
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-height: 44px;
}
.card-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-mint);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card:hover .card-name { text-decoration: underline; }
.card-spec {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--color-gray-600);
  letter-spacing: .04em;
}

/* ── Obszar zdjęcia ── */
.card-img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: #f0f2f5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.card-photo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
  transition: transform .3s ease, opacity .2s;
}
.product-card:hover .card-photo { transform: scale(1.06); }
.card-photo-ph {
  font-size: 40px;
  color: #bbb;
}

/* ── Badges (top-right jak Maxim) ── */
.card-badges {
  position: absolute;
  top: 6px;
  right: 6px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  pointer-events: none;
}
.badge-new  { background: #75DAB4; color: #0C0F16; }
.badge-best { background: #ffc850; color: #0C0F16; }
.badge-sale { background: #e8315e; color: #fff; }
.badge-new, .badge-best, .badge-sale {
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 3px;
  line-height: 1.6;
}

/* ── Licznik wariantów (top-left) ── */
.card-var-count {
  position: absolute;
  top: 6px;
  left: 6px;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 3px;
  backdrop-filter: blur(4px);
  pointer-events: none;
}

/* ── Miniaturki wariantów ── */
.variant-thumbs {
  display: flex;
  gap: 3px;
  padding: 5px 8px;
  border-top: 1px solid var(--color-ink-soft);
  background: var(--color-soot);
  flex-wrap: wrap;
  align-items: center;
}
.var-thumb {
  width: 28px;
  height: 28px;
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  background: #f0f2f5;
  flex-shrink: 0;
  transition: border-color .15s, transform .15s;
}
.var-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.var-thumb:hover { border-color: var(--color-gray-500); transform: scale(1.1); }
.var-thumb.active { border-color: var(--color-mint); }
.var-more {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--color-gray-600);
  padding: 0 2px;
}

/* ── Stopka karty ── */
.card-footer {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px 8px;
  margin-top: auto;
}
.card-price-stock { display:flex; align-items:center; gap:5px; flex:1; }
.card-price {
  font-size: 11px;
  font-weight: 700;
  color: var(--color-paper);
  flex: 1;
}
.card-price-na {
  font-size: 10px;
  color: var(--color-gray-600);
  font-family: var(--font-mono);
  flex: 1;
}
.stock-ok {
  font-family: var(--font-mono);
  font-size: 9px;
  color: #75DAB4;
  white-space: nowrap;
}
.card-cta {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--color-gray-600);
  transition: color .15s;
  text-align: center;
  white-space: nowrap;
}
.product-card:hover .card-cta { color: var(--color-mint); }

/* ── Loading/empty ── */
.loading-state { grid-column:1/-1; padding:80px 0; display:flex; flex-direction:column; align-items:center; gap:16px; color:var(--color-gray-500); font-size:14px; }
.loader { width:32px; height:32px; border:2px solid var(--color-ink-soft); border-top-color:var(--color-mint); border-radius:50%; animation:kp-spin .8s linear infinite; }
@keyframes kp-spin { to { transform:rotate(360deg); } }
.empty-msg { grid-column:1/-1; padding:60px 0; text-align:center; color:var(--color-gray-500); font-size:16px; }
.error-state { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; gap:12px; padding:60px 0; }
.error-state p { color:var(--color-gray-400); }
.error-state small { color:var(--color-gray-600); font-size:12px; font-family:var(--font-mono); }
.btn-fallback { padding:10px 20px; background:var(--color-mint); color:var(--color-ink); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border-radius:6px; }.breadcrumb[data-astro-cid-6x6fihct]{padding:20px 0;border-bottom:1px solid var(--color-ink-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:var(--color-gray-600);text-transform:uppercase}.breadcrumb[data-astro-cid-6x6fihct] a[data-astro-cid-6x6fihct]{color:var(--color-gray-500);text-decoration:none}.breadcrumb[data-astro-cid-6x6fihct] a[data-astro-cid-6x6fihct]:hover{color:var(--color-mint)}.breadcrumb[data-astro-cid-6x6fihct] .sep[data-astro-cid-6x6fihct]{margin:0 8px}.breadcrumb[data-astro-cid-6x6fihct] .active[data-astro-cid-6x6fihct]{color:var(--color-mint)}.catalog-hero[data-astro-cid-6x6fihct]{padding:72px 0 56px;background:#080C14;border-bottom:1px solid var(--color-ink-soft);position:relative}.catalog-hero[data-astro-cid-6x6fihct]::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(117,218,180,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(117,218,180,.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.catalog-hero[data-astro-cid-6x6fihct] .container-main[data-astro-cid-6x6fihct]{position:relative;z-index:1}.badge[data-astro-cid-6x6fihct]{display:inline-block;padding:4px 10px;background:var(--color-signal-soft);color:var(--color-signal);font-family:var(--font-mono);font-size:10px;letter-spacing:0.15em;border-radius:4px;margin-bottom:24px}h1[data-astro-cid-6x6fihct].display{font-size:clamp(36px,5vw,72px);letter-spacing:-0.03em;line-height:.95;margin-bottom:16px}.sub[data-astro-cid-6x6fihct]{font-size:17px;color:var(--color-gray-400);max-width:640px;line-height:1.6;margin-bottom:20px}.supplier-note[data-astro-cid-6x6fihct]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.supplier-badge[data-astro-cid-6x6fihct]{display:inline-block;padding:4px 10px;background:rgba(117,218,180,.1);color:var(--color-mint);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;border:1px solid rgba(117,218,180,.25);border-radius:4px}.supplier-info[data-astro-cid-6x6fihct]{font-size:12px;color:var(--color-gray-600);font-family:var(--font-mono)}.catalog-section[data-astro-cid-6x6fihct]{padding:48px 0 100px}.catalog-layout[data-astro-cid-6x6fihct]{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}.catalog-sidebar[data-astro-cid-6x6fihct]{position:sticky;top:76px;background:var(--color-soot);border:1px solid var(--color-ink-soft);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:18px}.sidebar-header[data-astro-cid-6x6fihct]{display:flex;justify-content:space-between;align-items:center}.clear-filters[data-astro-cid-6x6fihct]{background:none;border:none;color:var(--color-mint);font-size:11px;font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;padding:0}.filter-group[data-astro-cid-6x6fihct]{display:flex;flex-direction:column;gap:8px}.filter-label[data-astro-cid-6x6fihct]{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gray-600)}.category-list[data-astro-cid-6x6fihct]{display:flex;flex-direction:column;gap:3px;max-height:340px;overflow-y:auto}.category-list[data-astro-cid-6x6fihct]::-webkit-scrollbar{width:4px}.category-list[data-astro-cid-6x6fihct]::-webkit-scrollbar-thumb{background:var(--color-steel);border-radius:2px}.cat-btn[data-astro-cid-6x6fihct]{text-align:left;padding:5px 10px;background:none;border:1px solid transparent;border-radius:6px;font-size:12px;color:var(--color-gray-400);cursor:pointer;transition:all var(--duration-fast);display:flex;justify-content:space-between;align-items:center}.cat-btn[data-astro-cid-6x6fihct]:hover{color:var(--color-paper);background:var(--color-ink-soft)}.cat-btn[data-astro-cid-6x6fihct].active{color:var(--color-mint);border-color:var(--color-mint);background:var(--color-mint-glow)}.cat-count[data-astro-cid-6x6fihct]{font-size:10px;color:var(--color-gray-600);font-family:var(--font-mono)}.cat-skeleton[data-astro-cid-6x6fihct]{height:200px;background:var(--color-ink-soft);border-radius:6px;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}.price-range[data-astro-cid-6x6fihct]{display:flex;align-items:center;gap:8px}.price-input[data-astro-cid-6x6fihct]{width:68px;padding:6px 8px;background:var(--color-ink-soft);border:1px solid var(--color-steel);border-radius:6px;color:var(--color-paper);font-size:12px}.price-input[data-astro-cid-6x6fihct]:focus{outline:none;border-color:var(--color-mint)}.sort-select[data-astro-cid-6x6fihct]{width:100%;padding:7px 10px;background:var(--color-ink-soft);border:1px solid var(--color-steel);border-radius:6px;color:var(--color-paper);font-size:12px;cursor:pointer}.sort-select[data-astro-cid-6x6fihct]:focus{outline:none;border-color:var(--color-mint)}.checkbox-filter[data-astro-cid-6x6fihct]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-gray-400);cursor:pointer}.checkbox-filter[data-astro-cid-6x6fihct] input[data-astro-cid-6x6fihct]{accent-color:var(--color-mint)}.catalog-toolbar[data-astro-cid-6x6fihct]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.search-box[data-astro-cid-6x6fihct]{position:relative;flex:1}.search-input[data-astro-cid-6x6fihct]{width:100%;padding:11px 40px 11px 14px;background:var(--color-soot);border:1px solid var(--color-steel);border-radius:8px;color:var(--color-paper);font-size:14px;font-family:var(--font-grotesk);box-sizing:border-box}.search-input[data-astro-cid-6x6fihct]:focus{outline:none;border-color:var(--color-mint)}.search-icon[data-astro-cid-6x6fihct]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-gray-600);pointer-events:none}.results-count[data-astro-cid-6x6fihct]{font-family:var(--font-mono);font-size:11px;color:var(--color-gray-600);white-space:nowrap;letter-spacing:.05em}.loading-state[data-astro-cid-6x6fihct]{grid-column:1/-1;padding:80px 0;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--color-gray-500);font-size:14px}.loader[data-astro-cid-6x6fihct]{width:32px;height:32px;border:2px solid var(--color-ink-soft);border-top-color:var(--color-mint);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-msg[data-astro-cid-6x6fihct]{grid-column:1/-1;padding:60px 0;text-align:center;color:var(--color-gray-500);font-size:16px}.error-state[data-astro-cid-6x6fihct]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0}.error-state[data-astro-cid-6x6fihct] p[data-astro-cid-6x6fihct]{color:var(--color-gray-400);font-size:15px}.error-state[data-astro-cid-6x6fihct] small[data-astro-cid-6x6fihct]{color:var(--color-gray-600);font-size:12px;font-family:var(--font-mono)}.btn-fallback[data-astro-cid-6x6fihct]{padding:10px 20px;background:var(--color-mint);color:var(--color-ink);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:6px}.pagination[data-astro-cid-6x6fihct]{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap}.pg-btn[data-astro-cid-6x6fihct]{width:36px;height:36px;background:var(--color-soot);border:1px solid var(--color-ink-soft);border-radius:6px;color:var(--color-gray-400);font-size:13px;cursor:pointer;transition:all var(--duration-fast)}.pg-btn[data-astro-cid-6x6fihct]:hover{border-color:var(--color-mint);color:var(--color-mint)}.pg-btn[data-astro-cid-6x6fihct].active{background:var(--color-mint);border-color:var(--color-mint);color:var(--color-ink);font-weight:700}.pg-dots[data-astro-cid-6x6fihct]{display:flex;align-items:center;color:var(--color-gray-600);font-size:14px}@media (max-width:1024px){.catalog-layout[data-astro-cid-6x6fihct]{grid-template-columns:1fr}.catalog-sidebar[data-astro-cid-6x6fihct]{position:static}}@media (max-width:640px){.catalog-toolbar[data-astro-cid-6x6fihct]{flex-direction:column;align-items:stretch}}