.product-thumb .image,
.pps-image-wrap { position: relative; }

/* Eski OCMOD'un yuvarlak/dikey rozet kurallarını da bilinçli olarak sıfırlar. */
body .product-thumb .image > .lu-badges,
body .pps-image-wrap > .lu-badges {
  position: absolute; z-index: 14; top: 10px; left: 10px; right: 10px;
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start;
  gap: 5px; max-height: 58px; overflow: hidden; pointer-events: none;
}
body .product-thumb .image > .lu-badges .lu-badge,
body .pps-image-wrap > .lu-badges .lu-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; height: 25px; min-width: 0; min-height: 25px;
  padding: 0 9px; border: 1px solid rgba(15,23,42,.08); border-radius: 8px;
  background: rgba(255,255,255,.95); color: #1f2937;
  box-shadow: 0 2px 7px rgba(15,23,42,.10); font-size: 11px;
  font-weight: 800; line-height: 1; letter-spacing: 0; text-transform: none;
  white-space: nowrap; overflow: visible; backdrop-filter: blur(4px);
}
body .lu-badge--new, body .lu-badge-new { background: #23c875 !important; color: #fff !important; }
body .lu-badge--voltage, body .lu-badge-volt { background: #fed700 !important; color: #111827 !important; }
body .lu-badge--ip, body .lu-badge-ip { background: #f97316 !important; color: #fff !important; }
body .lu-badge--connect, body .lu-badge-conn { background: #2563eb !important; color: #fff !important; }
body .lu-badge--color, body .lu-badge-rgb { background: #111827 !important; background-image: none !important; color: #fff !important; }
body .lu-badge--set, body .lu-badge-set,
body .lu-badge--length, body .lu-badge-len { background: #e0f2fe !important; color: #0369a1 !important; }
@media (max-width: 767px) {
  body .product-thumb .image > .lu-badges,
  body .pps-image-wrap > .lu-badges {
    top: 6px; left: 6px; right: 6px; display: flex; grid-template-columns: none;
    grid-auto-rows: auto; flex-direction: row; gap: 3px; max-height: 45px;
  }
  body .product-thumb .image > .lu-badges .lu-badge,
  body .pps-image-wrap > .lu-badges .lu-badge {
    display: inline-flex; width: auto; height: 20px; min-height: 20px;
    padding: 0 6px; border-radius: 6px; font-size: 9px;
    box-shadow: 0 1px 4px rgba(15,23,42,.08);
  }
  body .lu-badges .lu-badge:nth-child(n+4) { display: none; }
}

/* Ürün bilgisinde, görsel ile ürün adı arasındaki teknik özet şeridi. */
body .product-thumb .caption > .lu-badges--info,
body .pps-card-body > .lu-badges--info {
  position: static !important; inset: auto !important; z-index: auto;
  display: flex !important; flex-flow: row nowrap !important; align-items: center;
  width: 100%; max-width: 100%; max-height: none; min-height: 27px;
  margin: 0 0 9px; padding: 1px 0 3px; gap: 5px;
  overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity; scrollbar-width: none; pointer-events: auto;
}
body .product-thumb .caption > .lu-badges--info::-webkit-scrollbar,
body .pps-card-body > .lu-badges--info::-webkit-scrollbar { display: none; }
body .product-thumb .caption > .lu-badges--info .lu-badge,
body .pps-card-body > .lu-badges--info .lu-badge {
  display: inline-flex !important; flex: 0 0 auto; scroll-snap-align: start;
  width: auto !important; height: 24px !important; min-height: 24px;
  padding: 0 8px; border-radius: 7px; box-shadow: none;
  font-size: 10px; letter-spacing: 0; text-transform: none;
}
/* UpStore ikinci caption elemanını alta itiyor. Rozet eklendiğinde ikinci eleman
   product-name olduğu için yalnızca bu yeni DOM sıralamasında kuralı sıfırla. */
body .product-thumb .caption > .lu-badges--info + .product-name {
  margin-top: 0 !important;
}
body .pps-card-body > .lu-badges--info + h3 {
  margin-top: 0;
}

/* Kart bilgi hiyerarşisi: ad önce, marka ve gerçek ürün kodu sonra. */
body .product-thumb .caption > .product-name {
  margin-bottom: 0;
}
body .product-thumb .caption > .product-name > a,
body .pps-card-body > h3 > a {
  display: -webkit-box;
  min-height: calc(1.42em * 2);
  max-height: calc(1.42em * 3);
  overflow: hidden;
  color: #171717;
  font-weight: 600;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
body .product-card-meta {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 5px 0 8px;
  gap: 5px;
  overflow: hidden;
  color: #a0a6ae;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}
body .product-card-meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
body .product-card-meta b {
  flex: 0 0 auto;
  color: #d0d4d9;
  font-weight: 700;
}

/* Kategori kartlarinda rozet/ad uzunlugu fiyat ve eylem satirini kaydirmasin. */
body.product-category .category-page .product-thumb .caption > div:nth-child(2) {
  margin-top: 0 !important;
}
body.product-category .category-page .product-thumb .caption > .price-actions-box {
  margin-top: auto !important;
}
@media (max-width: 767px) {
  body .product-thumb .caption > .lu-badges--info,
  body .pps-card-body > .lu-badges--info {
    min-height: 24px; margin: 0 0 6px; padding: 0 0 2px; gap: 4px;
    -webkit-overflow-scrolling: touch;
  }
  body .product-thumb .caption > .lu-badges--info .lu-badge,
  body .pps-card-body > .lu-badges--info .lu-badge,
  body .product-thumb .caption > .lu-badges--info .lu-badge:nth-child(n+4),
  body .pps-card-body > .lu-badges--info .lu-badge:nth-child(n+4) {
    display: inline-flex !important; width: auto !important; height: 21px !important;
    min-height: 21px; padding: 0 6px; border-radius: 6px; font-size: 9px;
  }
  body .product-thumb .caption > .product-name > a,
  body .pps-card-body > h3 > a {
    min-height: calc(1.35em * 2);
    max-height: calc(1.35em * 3);
    line-height: 1.35;
  }
  body .product-card-meta {
    margin: 4px 0 7px;
    gap: 4px;
    font-size: 10px;
  }
}
