/* === PRODUCT CARD === */
.kp-product{
  background:var(--c-card);border-radius:var(--r-lg);
  overflow:hidden;border:1px solid var(--c-border-light);
  transition:all .3s var(--ease);height:100%;
  display:flex;flex-direction:column;
}
.kp-product:hover{
  border-color:var(--c-primary);
  box-shadow:var(--s-lg);
  transform:translateY(-4px);
}

/* Image */
.kp-product__img{
  position:relative;padding-top:100%;
  background:var(--c-bg);overflow:hidden;
}
.kp-product__img img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .5s var(--ease);
}
.kp-product:hover .kp-product__img img{transform:scale(1.06)}

.kp-product__noimg{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--c-bg) 0%,var(--c-border-light) 100%);
}
.kp-product__noimg .material-symbols-outlined{font-size:36px;color:var(--c-text-muted);opacity:.4}
.kp-product__noimg span:last-child{font-size:.6875rem;color:var(--c-text-muted);margin-top:4px}

/* Badges on image */
.kp-product__stock{
  position:absolute;top:8px;left:8px;
  font-size:.625rem;font-weight:700;
  padding:3px 8px;border-radius:var(--r-full);
  z-index:2;text-transform:uppercase;letter-spacing:.04em;
}
.kp-product__stock--in{background:var(--c-success-bg);color:var(--c-success)}
.kp-product__stock--out{background:var(--c-danger-bg);color:var(--c-danger)}

.kp-product__fav{
  position:absolute;top:8px;right:8px;
  width:32px;height:32px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(4px);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:none;z-index:2;
  color:var(--c-text-muted);transition:all .2s;
}
.kp-product__fav:hover,.kp-product__fav.active{background:var(--c-danger);color:#fff}
.kp-product__fav .material-symbols-outlined{font-size:17px}

/* Cart overlay (appears on hover) */
.kp-product__cart-overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:8px;
  background:linear-gradient(transparent,rgba(0,0,0,.5));
  display:flex;justify-content:center;
  opacity:0;transform:translateY(8px);
  transition:all .25s var(--ease);
}
.kp-product:hover .kp-product__cart-overlay{opacity:1;transform:translateY(0)}
.kp-product__cart-btn{
  background:var(--c-primary);color:#fff;border:none;
  padding:8px 20px;border-radius:var(--r-full);
  font-family:'Outfit',sans-serif;font-weight:600;font-size:.8125rem;
  display:flex;align-items:center;gap:5px;
  transition:background var(--dur);
  box-shadow:var(--s-primary);
}
.kp-product__cart-btn:hover{background:var(--c-primary-dark)}
.kp-product__cart-btn .material-symbols-outlined{font-size:16px}

/* Body */
.kp-product__body{
  padding:12px 14px 14px;flex:1;
  display:flex;flex-direction:column;
}
@media(min-width:768px){.kp-product__body{padding:14px 16px 16px}}

.kp-product__cat{
  font-size:.625rem;color:var(--c-secondary-dark);font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;
}
.kp-product__name{
  font-family:'Outfit',sans-serif;font-weight:600;
  font-size:.8125rem;color:var(--c-ink);
  margin-bottom:8px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}
@media(min-width:768px){.kp-product__name{font-size:.9375rem}}
.kp-product__name a{color:inherit}
.kp-product__name a:hover{color:var(--c-primary)}

.kp-product__footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.kp-product__price{
  font-family:'Outfit',sans-serif;
  font-size:1.125rem;font-weight:800;color:var(--c-primary);line-height:1.1;
}
@media(min-width:768px){.kp-product__price{font-size:1.25rem}}
.kp-product__price small{font-size:.6875rem;font-weight:500;color:var(--c-text-muted);display:block;margin-top:2px}

/* Mobile: add to cart icon button (always visible) */
.kp-product__cart-icon{
  width:36px;height:36px;border-radius:50%;
  border:none;background:var(--c-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s;
}
.kp-product__cart-icon:hover{background:var(--c-primary-dark);transform:scale(1.1)}
.kp-product__cart-icon .material-symbols-outlined{font-size:18px}

/* === CATEGORY CARD === */
.kp-catcard{
  background:var(--c-card);border-radius:var(--r-lg);
  padding:0;text-align:center;overflow:hidden;
  border:1.5px solid var(--c-border-light);
  transition:all .3s var(--ease);height:100%;
}
.kp-catcard:hover{border-color:var(--c-primary);transform:translateY(-3px);box-shadow:var(--s-md)}

/* Ustte tam genislik gorsel — dikey kutu, urun tam gorunsun (kirpilmaz) */
.kp-catcard__media{
  position:relative;width:100%;padding-top:115%;
  overflow:hidden;background:#fff;
}
.kp-catcard__media img{
  position:absolute;top:0;left:0;width:100%;height:100%;
  object-fit:contain;display:block;
  box-sizing:border-box;padding:8px;
  transition:transform .4s var(--ease);
}
.kp-catcard:hover .kp-catcard__media img{transform:scale(1.04)}
/* Gorsel yoksa ortalanan yedek ikon */
.kp-catcard__media .material-symbols-outlined{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:42px;color:var(--c-primary);
}

.kp-catcard__body{padding:14px 12px}
.kp-catcard__name{font-family:'Outfit',sans-serif;font-weight:600;font-size:.875rem;color:var(--c-ink);margin-bottom:2px}
.kp-catcard__count{font-size:.75rem;color:var(--c-text-muted)}

/* Sort bar */
.kp-sortbar{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:var(--sp-lg);flex-wrap:wrap;gap:var(--sp-sm);
}
.kp-sortbar__count{color:var(--c-text-secondary);font-size:.875rem;font-weight:500}
.kp-sortbar select{
  border:1.5px solid var(--c-border);border-radius:var(--r-sm);
  padding:7px 12px;font-size:.8125rem;font-family:inherit;
  background:var(--c-card);color:var(--c-text);
}
