/* ===== Centrum Filtracji — Lista produktów (front-end) =====
   Prostokątne karty, techniczny styl. Czarny + #028DCF na bieli.
   Reguły strukturalne wymuszone (!important) przeciw stylom motywu. */

.cfp.cfp{
  --black:#0f1216; --ink:#1c1f24; --mute:#5a626b;
  --blue:#028DCF; --blue-dark:#0277ad;
  --line:#e4e7ea; --bg-soft:#f5f7f9; --promo:#e23b2e;
  --cfp-cols:4; --cfp-desc-lines:2;
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:"Inter",system-ui,-apple-system,sans-serif !important;
  color:var(--black) !important;
}
.cfp.cfp *{ box-sizing:border-box !important; }
.cfp.cfp a{ text-decoration:none !important; }

.cfp.cfp .cfp-grid{
  display:grid !important;
  grid-template-columns:repeat(var(--cfp-cols,4),minmax(0,1fr)) !important;
  gap:16px !important;
  margin:0 !important; padding:0 !important; list-style:none !important; width:100% !important;
  align-items:stretch !important;
}

/* karta */
.cfp.cfp .cfp-card{
  position:relative !important;
  display:flex !important; flex-direction:column !important;
  background:#fff !important; border:1px solid var(--line) !important;
  margin:0 !important; min-width:0 !important;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease) !important;
}
.cfp.cfp .cfp-card:hover{
  border-color:#cfd6dc !important;
  box-shadow:0 10px 30px -16px rgba(15,18,22,.3) !important;
}

/* zdjęcie — całe widoczne, nieprzycięte */
.cfp.cfp .cfp-media{
  position:relative !important; display:flex !important; align-items:center !important; justify-content:center !important;
  aspect-ratio:1/1 !important; overflow:hidden !important; background:#fff !important;
}
.cfp.cfp .cfp-media img{
  width:100% !important; height:100% !important; object-fit:contain !important;
  object-position:center !important; display:block !important;
  margin:0 !important; padding:14px !important; max-width:100% !important;
  transition:transform .5s var(--ease) !important;
}
.cfp.cfp .cfp-card:hover .cfp-media img{ transform:scale(1.04) !important; }

/* etykieta Promocja */
.cfp.cfp .cfp-badge{
  position:absolute !important; top:0 !important; left:0 !important; z-index:2 !important;
  background:var(--promo) !important; color:#fff !important;
  font-size:11px !important; font-weight:700 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; padding:6px 12px !important; line-height:1 !important; margin:0 !important;
}

/* treść */
.cfp.cfp .cfp-body{
  display:flex !important; flex-direction:column !important; gap:4px !important;
  padding:16px !important; border-top:1px solid var(--line) !important; flex:1 !important;
}
.cfp.cfp .cfp-cat{
  font-size:10.5px !important; font-weight:600 !important; letter-spacing:.1em !important;
  text-transform:uppercase !important; color:var(--blue) !important;
}
.cfp.cfp .cfp-title{
  font-size:15px !important; font-weight:700 !important; color:var(--ink) !important;
  line-height:1.35 !important; letter-spacing:-.01em !important;
  display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
  line-clamp:2 !important; overflow:hidden !important;
  transition:color .2s var(--ease) !important;
}
.cfp.cfp .cfp-title:hover{ color:var(--blue) !important; }

.cfp.cfp .cfp-desc{
  font-size:13px !important; font-weight:400 !important; color:var(--mute) !important;
  line-height:1.5 !important; margin:2px 0 0 !important;
  display:-webkit-box !important; -webkit-box-orient:vertical !important;
  -webkit-line-clamp:var(--cfp-desc-lines,2) !important; line-clamp:var(--cfp-desc-lines,2) !important;
  overflow:hidden !important;
}

/* cena */
.cfp.cfp .cfp-price{
  display:flex !important; align-items:baseline !important; gap:8px !important; margin-top:8px !important;
}
.cfp.cfp .cfp-price ins,
.cfp.cfp .cfp-price > .woocommerce-Price-amount{
  font-size:18px !important; font-weight:800 !important; color:var(--black) !important;
  text-decoration:none !important; background:none !important;
}
.cfp.cfp .cfp-price del{
  font-size:13px !important; font-weight:400 !important; color:var(--mute) !important; opacity:.9 !important;
}
.cfp.cfp .cfp-price--promo ins,
.cfp.cfp .cfp-price--promo > .woocommerce-Price-amount{ color:var(--promo) !important; }
.cfp.cfp .cfp-price .woocommerce-Price-amount{ font-weight:inherit !important; color:inherit !important; }

/* przycisk koszyka */
.cfp.cfp .cfp-cart{ margin-top:12px !important; }
.cfp.cfp .cfp-cart a{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important;
  width:100% !important; background:var(--blue) !important; color:#fff !important;
  font-size:13px !important; font-weight:600 !important; letter-spacing:.01em !important;
  padding:12px !important; border:2px solid var(--blue) !important; margin:0 !important;
  transition:background .25s var(--ease), border-color .25s var(--ease) !important;
}
.cfp.cfp .cfp-cart a:hover{ background:var(--blue-dark) !important; border-color:var(--blue-dark) !important; }
.cfp.cfp .cfp-cart a svg{ width:16px !important; height:16px !important; flex:none !important; }
.cfp.cfp .cfp-cart a.added::after{ display:none !important; }

.cfp-empty{ color:#5a626b; font-family:"Inter",sans-serif; }

/* RWD */
@media (max-width:1024px){
  .cfp.cfp .cfp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:680px){
  .cfp.cfp .cfp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .cfp.cfp .cfp-body{ padding:13px !important; }
  .cfp.cfp .cfp-title{ font-size:14px !important; }
  .cfp.cfp .cfp-price ins,
  .cfp.cfp .cfp-price > .woocommerce-Price-amount{ font-size:16px !important; }
}
@media (max-width:420px){
  .cfp.cfp .cfp-grid{ grid-template-columns:1fr 1fr !important; gap:10px !important; }
}

@media (prefers-reduced-motion:reduce){
  .cfp.cfp .cfp-card,
  .cfp.cfp .cfp-media img,
  .cfp.cfp .cfp-cart a{ transition:none !important; }
}

/* ===== ARCHIWUM / KATEGORIE WooCommerce ===== */
/* Wrapper .cfp na archiwum: neutralizuj domyślną siatkę Woo */
.woocommerce ul.products.cfp-grid,
.cfp-archive .cfp-grid{
  display:grid !important;
  grid-template-columns:repeat(var(--cfp-cols,4),minmax(0,1fr)) !important;
  gap:16px !important; margin:0 !important; padding:0 !important; list-style:none !important;
}
/* WooCommerce czasem dokłada li.product — zerujemy jego szerokości/marginesy */
.cfp-archive .cfp-card{ width:auto !important; margin:0 !important; float:none !important; clear:none !important; }
.cfp-archive .cfp-card::before,
.cfp-archive .cfp-card::after{ display:none !important; }

/* ukryj ewentualne resztki domyślnych elementów Woo wewnątrz naszej karty */
.cfp-archive .cfp-card .woocommerce-loop-product__link,
.cfp-archive .cfp-card > .button.add_to_cart_button:not(.cfp-cart a){ all:unset; }

@media (max-width:1024px){
  .cfp-archive .cfp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:680px){
  .cfp-archive .cfp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
}
