
/*
 * PtProductCard — spec/03 §7.2 birebir (1440: 300×473, 375: 343×516, 1024: 220,8×393,9).
 * Hover yalnız saydamlık (.94) ve düğme dolgusu; geçiş yok (K1). README'deki kenar + gölge hover UYGULANMAZ.
 */
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  cursor: pointer;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc:hover, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc:hover {
  opacity: 0.94;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__gorsel, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__gorsel {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--pt-zemin);
  border-radius: var(--pt-r-buton);
  border: 1px solid var(--pt-cizgi);
  overflow: hidden;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__img, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__img {
  display: block;
  width: 100%;
  height: 100%;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__img--cover, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__img--cover {
  object-fit: cover;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__img--contain, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__img--contain {
  object-fit: contain;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__img--bos, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__img--bos {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pt-zemin-gorsel);
  color: var(--pt-soluk-2);
}
/* Metinli yer tutucu (spec/03 §7.2, §12: #FFF kare + "Ürün görseli"; kategori D2/#4) */
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__img--bos-metinli, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__img--bos-metinli {
  flex-direction: column;
  gap: 6px;
  background: var(--pt-zemin);
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__bos-metin, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__bos-metin {
  font-size: 12px;
  line-height: 1.4;
  color: var(--pt-soluk);
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__rozet, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__rozet {
  position: absolute;
  left: 10px;
  top: 10px;
  background: var(--pt-vurgu);
  color: var(--pt-vurgu-metin);
  border-radius: var(--pt-r-4);
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  pointer-events: none;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__govde, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__govde {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  padding: 14px 2px 0;
  min-width: 0;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__ad, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__ad, .cc_TM5qeHBnRr_78U53Dqs1x .pt-kok .ptpc__ad, .cc_TM5qeHBnRr_ZklZT4T7lv .pt-kok .ptpc__ad {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--pt-metin);
  text-decoration: none;
}
.cc_TM5qeHBnRr_78U53Dqs1x .pt-kok .ptpc__ad:hover, .cc_TM5qeHBnRr_ZklZT4T7lv .pt-kok .ptpc__ad:hover {
  color: var(--pt-metin);
}
/* Kartın tamamı bağlantı (iç içe etkileşimli öğe yok; düğme bağlantının üstünde) */
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__ad::after, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__ad::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__ad:focus-visible, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__ad:focus-visible {
  outline: none;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__ad:focus-visible::after, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__ad:focus-visible::after {
  outline: var(--pt-odak-kalin) solid var(--pt-odak-renk);
  outline-offset: var(--pt-odak-bosluk);
  border-radius: var(--pt-r-buton);
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__fiyat, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__fiyat {
  margin-top: auto;
  padding-top: 4px;
  min-width: 0;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__dugme, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__dugme {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  height: 42px;
  width: 100%;
  font-size: 14px;
}
/* Tasarımda düğme `all:unset` → saydam; sayfa zemini görünür (spec/03 §7.2; kategori tasarım #19). Hover dolgusu kalır. */
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__dugme.pt-btn--cerceve:not(:hover), .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__dugme.pt-btn--cerceve:not(:hover) {
  background: transparent;
}
/* Dokunma alanı 44 px (görünüm 42; sözleşme §9 kalıbı, anasayfa-alt B) */
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__dugme::after, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__dugme::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% - 22px);
  height: 44px;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__dugme .pt-ikon--donen, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__dugme .pt-ikon--donen {
  animation: ppcDon 0.8s linear infinite;
}
.cc_TM5qeHBnRr_78U53Dqs1x .ptpc__hata, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__hata {
  position: relative;
  z-index: 2;
  font-size: 12px;
  line-height: 1.4;
  color: var(--pt-hata);
}
@media (prefers-reduced-motion: reduce) {
  .cc_TM5qeHBnRr_78U53Dqs1x .ptpc__dugme .pt-ikon--donen, .cc_TM5qeHBnRr_ZklZT4T7lv .ptpc__dugme .pt-ikon--donen {
    animation: none;
  }
}

/* Keyframe'ler bu dosyada (27.09 ön entegrasyon): global.css'te TANIMLI adlar sunucuda `cc_<projectId>_` önekiyle
 * yeniden adlandırılır, bileşen CSS'indeki başvurular adlandırılmaz (component-cli compile.js renameCollidingGlobals
 * notu) → global ptSpin/ptShade/ptWave/ptSolma'ya bağlanmak canlıda animasyonu düşürür. CLI bu dosyadaki adı ve
 * başvurusunu birlikte öneklendirir. */
@keyframes ppcDon {
  to {
    transform: rotate(360deg);
  }
}
