/* ─── Tam Market (tamsepet) — Faz 1: yoğun/kompakt "Temu tarzı" ürün kartı + katalog ─────
   Yalnızca body[data-main-theme="tamsepet"] altında geçerlidir (tek tenant: tamsepetlik).
   site-sans.css / site-serif.css'ten SONRA yüklenir (bkz. _head.ejs) ki eşit özgüllükteki
   mevcut tamsepet kuralları (site-sans.css ~3164-3550) üzerine yazabilsin. site-sans.css ve
   site-serif.css kasıtlı olarak değiştirilmedi — bu iki dosya diğer tüm tenantlarca paylaşılan
   3574 satırlık ikizler, oraya eklenen her şey portal-kart kullanan başka tenantlara da sızar.
   ────────────────────────────────────────────────────────────────────────────────────── */

body[data-main-theme="tamsepet"]{
  /* Marka rengi (--primary, yeşil) korunur: CTA, sepet butonu, aktif/hover durumları.
     --ts-promo yalnızca fiyat/indirim/aciliyet gibi "promosyon" unsurları için — Temu'nun
     alışılmış sıcak vurgusu, marka kimliğinden ayrı tutulur. */
  --ts-promo:#e3502b;
  --ts-promo-soft:#fff2ec;
  --ts-ink:#141c17;
  --ts-ink-2:#5c6b62;
  --ts-line:#e8eeea;
  --ts-card-r:12px;
  --ts-grid-gap:10px;
  /* Tek fiyat standardı — kartın hangi şablondan geldiğine (.item/.portal-card/
     .ts-prod-card/.rel-card) bakılmaksızın ağırlık/rengi her yerde aynı olsun diye
     (bkz. istek: "son gezilen" ve "öne çıkan" bölümlerinin fiyatları farklı
     görünüyordu — ₺ simgesi bir yerde sayının önünde bir yerde arkasında kalmış,
     kalınlık 800/900 karışmıştı). Boyut, kartın genişliğine göre kasıtlı olarak
     değişir (küçük slider kartı ↔ geniş katalog kartı) ama kalınlık/renk sabittir.
     .ts-prod-card'ın kendi ts-size-sm/ts-size-lg varyantları (site-sans.css'te
     committed, daha yüksek özgüllükte) bu varsayılanı kasıtlı olarak eziyor. */
  --ts-price-weight:800;
  --ts-price-size:17px;
}

/* Önceden sabit yazılmış lacivert/mavi/turuncu tonları tek bir tutarlı sisteme bağla
   (site-sans.css:3438-3439, 3402 — bu dosya sonra yüklendiği için eşit özgüllükle kazanır) */
body[data-main-theme="tamsepet"] .ts-sec-head h2{color:var(--ts-ink)}
body[data-main-theme="tamsepet"] .ts-sec-head a{color:var(--primary)}
body[data-main-theme="tamsepet"] .tamsepet-cart-badge{background:var(--ts-promo)}

/* ── Ürün kartı (.portal-card.pc-product-card) — katalog/kategori/arama ────────────────── */
body[data-main-theme="tamsepet"] .portal-card{
  border:0;
  border-radius:var(--ts-card-r);
  box-shadow:0 1px 3px rgba(20,28,23,.08);
  transition:box-shadow .18s ease;
}
body[data-main-theme="tamsepet"] .portal-card:hover{
  transform:none;
  box-shadow:0 6px 18px rgba(20,28,23,.14);
}
body[data-main-theme="tamsepet"] .portal-card.pc-product-card .pc-media{
  border-radius:var(--ts-card-r) var(--ts-card-r) 0 0;
}
body[data-main-theme="tamsepet"] .portal-card.pc-product-card .pc-media-slide{
  border-width:6px;
  transition:transform .25s ease;
}
body[data-main-theme="tamsepet"] .portal-card:hover .pc-media-slide{transform:scale(1.03)}

/* ── Ürün kartı (.item) — ana sayfa "Öne Çıkan Ürünler" (category_tabs bloğu,
   bkz. _item-card.ejs), .portal-card ile aynı kabuk dili ────────────────────────────── */
body[data-main-theme="tamsepet"] .item{
  border:0;
  border-radius:var(--ts-card-r);
  box-shadow:0 1px 3px rgba(20,28,23,.08);
}
body[data-main-theme="tamsepet"] .item:hover{
  transform:none;
  box-shadow:0 6px 18px rgba(20,28,23,.14);
}
body[data-main-theme="tamsepet"] .item .body{padding:8px 8px 10px}
body[data-main-theme="tamsepet"] .item .i-name{
  font-size:12.5px;
  font-weight:500;
  color:var(--ts-ink-2);
  min-height:2.4em;
}

body[data-main-theme="tamsepet"] .pc-body{padding:8px 8px 10px}

body[data-main-theme="tamsepet"] .pc-name{
  font-size:12.5px;
  font-weight:500;
  color:var(--ts-ink-2);
  margin-bottom:6px;
  min-height:2.4em;
}
body[data-main-theme="tamsepet"] .pc-name a:hover{color:var(--ts-ink)}

/* Rozetler — Temu'da düz/gölgesiz, küçük köşe yarıçapı */
body[data-main-theme="tamsepet"] .pc-badge{
  border-radius:4px;
  font-size:10.5px;
  padding:4px 8px;
}
body[data-main-theme="tamsepet"] .pc-badge.discount{background:var(--ts-promo)}

/* Sosyal kanıt: yıldız + satış adedi (bkz. _item-card-portal.ejs .ts-card-sold) */
body[data-main-theme="tamsepet"] .product-card-rating{
  font-size:11px;
  gap:5px;
  margin:0 0 5px;
}
body[data-main-theme="tamsepet"] .ts-card-sold{color:var(--ts-ink-2);font-weight:600}

/* Çipler: kargo bedava / son N adet / çok satan — yalnızca gerçek veri varsa basılır */
body[data-main-theme="tamsepet"] .ts-card-chips{
  display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px;
}
body[data-main-theme="tamsepet"] .ts-chip{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:700;line-height:1;
  padding:4px 7px;border-radius:4px;
  background:var(--ts-promo-soft);color:var(--ts-promo);
}
body[data-main-theme="tamsepet"] .ts-chip i{font-size:10.5px}

/* Fiyat: kartın kahramanı — büyük/kalın/sıcak renk, kuruşlu (bkz. _pcMoney/_tsMoney) */
body[data-main-theme="tamsepet"] .pc-price{
  color:var(--ts-promo);
  font-size:var(--ts-price-size);
  font-weight:var(--ts-price-weight);
  letter-spacing:-.01em;
}
/* .i-price — _item-card.ejs'in "başlığın altında" fiyat konumu (bkz. i-price-note ile
   birlikte kullanılan varsayılan sınıf); .pc-price ile aynı görsel dil */
body[data-main-theme="tamsepet"] .item .i-price{
  color:var(--ts-promo);
  font-size:var(--ts-price-size);
  font-weight:var(--ts-price-weight);
}
body[data-main-theme="tamsepet"] .pc-price-bar-body .pc-price,
body[data-main-theme="tamsepet"] .commerce-card-actions.with-price .pc-inline-price .pc-price{
  color:var(--ts-promo);
  font-size:var(--ts-price-size);
}
body[data-main-theme="tamsepet"] .pc-price-orig,
body[data-main-theme="tamsepet"] .commerce-card-actions.with-price .pc-inline-price .pc-price-orig{
  font-size:11px;
}
body[data-main-theme="tamsepet"] .ts-price-off{
  display:inline-block;
  font-size:11px;font-weight:800;
  background:var(--ts-promo);color:#fff;
  border-radius:4px;padding:1px 5px;
  vertical-align:2px;
}

/* Sepete ekle — kare değil daire; marka rengi (--primary) korunur, yalnızca promosyon
   değildir. Yuvarlatma her ekranda uygulanır ama boyut küçültme yalnızca masaüstünde:
   mobilde site-sans.css'in 44px dokunma hedefi (@media max-width:600px) korunur. */
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only{
  border-radius:50%;
}
@media(min-width:601px){
  body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only{
    width:40px!important;height:40px!important;
  }
  body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only i{font-size:17px}
}

/* ── Katalog ızgarası — yoğunluk (bkz. market/shopgrid aynı desen, site-sans.css:2846/3056) */
/* align-items:start — kartlar satırın en uzun kartına eşit yüksekliğe ZORLANMASIN
   (varsayılan grid davranışı budur). Kartlardan bazılarında indirim/sosyal kanıt/çip
   satırları, bazılarında hiçbiri yok; grid stretch + .pc-foot{margin-top:auto} birlikte
   bu opsiyonel satırları olmayan kartlarda dev, boş bir dikey aralık bırakıyordu (bkz.
   Playwright ekran görüntüsüyle doğrulandı). Doğal içerik yüksekliği bırakılınca satır
   içi kartlar birkaç piksel farklı boyda olabilir — bu normal ve beklenen bir e-ticaret
   ızgara davranışı (Amazon/Trendyol vb.), göz ile fark edilmez; devasa boşluktan iyidir. */
[data-main-theme="tamsepet"] .catalog-track:not(.is-slider){
  gap:var(--ts-grid-gap)!important;
  align-items:start;
}
/* Aynı gerekçe (yukarı bkz.) — kategori sekmeleri (.ct-grid) ve ana sayfa "Öne Çıkan
   Ürünler" (id'si "ts-feat-" ile başlayan featured_items grid'i) için de geçerli. */
[data-main-theme="tamsepet"] .ct-grid,
[data-main-theme="tamsepet"] [id^="ts-feat-"]:not(.is-slider){
  align-items:start;
}
@media(max-width:900px){
  [data-main-theme="tamsepet"] .catalog-track:not(.is-slider){
    gap:8px!important;
  }
}

/* Araç çubuğu / filtre barı — daha ince, daha az görsel ağırlık */
[data-main-theme="tamsepet"] .catalog-toolbar{gap:8px}
[data-main-theme="tamsepet"] .filter-bar{
  border-radius:10px;
  padding:16px;
  box-shadow:none;
  border-color:var(--ts-line);
}

/* ═══ Faz 2 — ana sayfa + header ═══════════════════════════════════════════════════════ */

/* ── Hero → promosyon bandı ──────────────────────────────────────────────────────────────
   ÖNEMLİ: site-sans.css'in committed (asıl) tamsepet kuralı .ts-hero-inner'ı 360px sabit
   yükseklikte, kendi gradyanıyla, 88px kenar boşluklu yuvarlak bir "kart" olarak tanımlıyor
   (bkz. site-sans.css ~3331) — outer .ts-hero ise padding/margin'siz, overflow:visible bir
   sarmalayıcı, dekoratif daireler (::before/::after) onun üzerinde. Kartın YALNIZCA BİR
   KISMINI (grid/padding) override edip gerisini (width/min-height/border-radius/background)
   olduğu gibi bırakmak — tıpkı burada daha önce yapıldığı gibi — görselin kartın dışına
   taşmasına, dekoratif dairelerin orantısız büyük kalmasına yol açıyordu. Bu blok artık
   .ts-hero-inner'ın TÜM görsel özelliklerini üstleniyor; site-sans.css'teki committed
   kural hâlâ orada duruyor ama her özelliği burada ezildiği için etkisiz kalıyor. */
body[data-main-theme="tamsepet"] .ts-hero-inner{
  width:100%;
  max-width:none;
  min-height:0;
  border-radius:var(--ts-card-r);
  grid-template-columns:1fr;
  padding:28px 32px;
  background:linear-gradient(105deg,color-mix(in srgb,var(--primary) 7%,var(--bg)) 0%,var(--bg) 60%,color-mix(in srgb,var(--accent) 9%,var(--bg)) 100%);
  position:relative;
  overflow:hidden;
}
/* site-sans.css'in committed .ts-hero-inner::before/::after'ı (gökyüzü mavisi/turkuaz
   renkli, 560px'lik dev dairesel süslemeler) 88px kenar boşluklu eski sabit-genişlikli
   "kart" hero'su için konumlandırılmıştı. Bu blok artık tam genişlikte aktığı için o
   dairelerin sabit piksel konumları (right:235px vb.) anlamsız/rastgele bir yerde kalıyor
   — üstelik rengi de sayfanın geri kalanındaki yeşil/turuncu paletle ilgisiz. Kaldırıldı. */
body[data-main-theme="tamsepet"] .ts-hero-inner::before,
body[data-main-theme="tamsepet"] .ts-hero-inner::after{
  display:none;
}
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img{
  min-height:200px;
  display:flex;
  align-items:center;
}
body[data-main-theme="tamsepet"] .ts-hero-overlay{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(100deg,rgba(0,0,0,.68) 15%,rgba(0,0,0,.32) 55%,rgba(0,0,0,.05) 100%);
}
/* Görsel varken dekoratif dairelere gerek yok (görsel zaten görsel ilgi katıyor);
   görsel yoksa (düz gradyan zemin) küçük bir dekoratif dokunuş kalsın, ama kompakt
   banda oranlı, eski 520px'lik hero için tasarlanmış boyutlarda değil. */
body[data-main-theme="tamsepet"] .ts-hero:has(.ts-hero-has-img)::before,
body[data-main-theme="tamsepet"] .ts-hero:has(.ts-hero-has-img)::after{
  display:none;
}
body[data-main-theme="tamsepet"] .ts-hero::before{width:120px;height:120px;right:-30px;bottom:-40px}
body[data-main-theme="tamsepet"] .ts-hero::after{width:200px;height:200px;right:60px;top:-60px}
body[data-main-theme="tamsepet"] .ts-hero-content{
  position:relative;z-index:1;
  padding-right:0;
  max-width:640px;
}
/* site-sans.css'in committed .ts-hero-content h1{color:#0b3671} kuralı (bkz. aşağıdaki
   .ts-hero-has-img notu) yalnızca GÖRSELLİ slaytlar için yeniden kazandırılmıştı —
   görselsiz (düz gradyan zeminli) slaytlarda hâlâ lacivert kalıyordu, sayfanın geri
   kalanındaki --ts-ink/--primary/--ts-promo paletiyle ilgisiz. Burada düzeltildi. */
body[data-main-theme="tamsepet"] .ts-hero-content h1{
  font-size:clamp(22px,2.8vw,32px);
  margin-bottom:8px;
  color:var(--ts-ink);
}
body[data-main-theme="tamsepet"] .ts-hero-p{margin-bottom:16px;color:var(--ts-ink-2)}
body[data-main-theme="tamsepet"] .ts-btn-primary{
  padding:12px 22px;
  font-size:14.5px;
}
body[data-main-theme="tamsepet"] .ts-social-proof{margin-top:16px;color:var(--ts-ink-2)}
/* Görsel üstü metin okunurluğu — site-sans.css'in committed .ts-hero-has-img renk
   kuralları (beyaz metin) `body[data-main-theme="tamsepet"] .ts-hero-content h1{color:#0b3671}`
   gibi tema-özel kurallarla AYNI özgüllükte değil, o kurallar fazladan `body[attr]` tipi
   seçici içerdiğinden her zaman kazanıyordu — .ts-hero-has-img'in beyaz metni hiçbir zaman
   uygulanmıyordu (bu, hero hiç gerçek görsel kullanmadığı için şimdiye dek fark edilmemiş
   bir çakışma). Burada daha yüksek özgüllükle açıkça yeniden kazandırılıyor. */
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img .ts-hero-content h1,
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img .ts-hero-content h1 .ts-hero-accent{
  color:#fff;
}
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img .ts-hero-p{
  color:rgba(255,255,255,.86);
}
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img .ts-social-proof{
  color:rgba(255,255,255,.78);
}
@media(max-width:640px){
  body[data-main-theme="tamsepet"] .ts-hero-inner{padding:22px 20px}
  body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img{min-height:170px}
}

/* ── Hero slayt gösterisi (mockup: oklar + nokta göstergesi) — birden fazla slayt
   kayıtlıyken devreye girer (bkz. tamsepet-home.ejs). Tek slaytta bu sınıflar hiç
   basılmaz, DOM eskisiyle birebir aynı kalır. */
body[data-main-theme="tamsepet"] [id^="ts-hero-"].is-slider{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
}
body[data-main-theme="tamsepet"] [id^="ts-hero-"].is-slider::-webkit-scrollbar{display:none}
body[data-main-theme="tamsepet"] [id^="ts-hero-"].is-slider > .ts-hero-inner{
  flex:0 0 100%;
  scroll-snap-align:start;
}
body[data-main-theme="tamsepet"] .ts-hero-slider-wrap{position:relative}
body[data-main-theme="tamsepet"] .ts-hero-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:40px;height:40px;border-radius:50%;border:1px solid var(--ts-line);
  background:#fff;color:var(--ts-ink);display:grid;place-items:center;
  cursor:pointer;box-shadow:0 4px 14px rgba(20,28,23,.14);
  transition:background .18s,color .18s;
}
body[data-main-theme="tamsepet"] .ts-hero-nav:hover{background:var(--primary);color:var(--on-primary)}
body[data-main-theme="tamsepet"] .ts-hero-nav-prev{left:14px}
body[data-main-theme="tamsepet"] .ts-hero-nav-next{right:14px}
body[data-main-theme="tamsepet"] .ts-hero-dots{
  position:absolute;left:0;right:0;bottom:14px;z-index:4;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
/* Genişlik yerine transform:scaleX ile büyütülür (compositor-only) — width/height
   geçişleri layout thrash'e yol açar (bkz. impeccable layout-transition uyarısı). */
body[data-main-theme="tamsepet"] .ts-hero-dot{
  width:20px;height:8px;border-radius:4px;border:0;padding:0;
  background:rgba(255,255,255,.55);cursor:pointer;
  transform:scaleX(.4);transform-origin:center;
  transition:background .18s,transform .18s;
}
/* Hiçbir slaytta görsel yoksa (düz gradyan zemin) noktalar açık zeminde görünmez
   kalırdı — o durumda koyu tonlu versiyona döner. */
body[data-main-theme="tamsepet"] .ts-hero-slider-wrap:not(:has(.ts-hero-has-img)) .ts-hero-dot{
  background:color-mix(in srgb,var(--ts-ink) 22%,transparent);
}
body[data-main-theme="tamsepet"] .ts-hero-dot.active{
  transform:scaleX(1);
  background:var(--primary);
}
@media(max-width:640px){
  body[data-main-theme="tamsepet"] .ts-hero-nav{display:none}
  body[data-main-theme="tamsepet"] .ts-hero-dots{bottom:8px}
}

/* ── Header — biraz daha yoğun, kategori barı çip stiline ───────────────────────────── */
body[data-main-theme="tamsepet"] header.nav .nav-in{min-height:72px}
[data-main-theme="tamsepet"] .tamsepet-cat-bar-in a{
  padding:7px 14px;
  border-radius:999px;
  background:color-mix(in srgb,var(--text) 4%,transparent);
}
[data-main-theme="tamsepet"] .tamsepet-cat-bar-in a:hover{
  background:color-mix(in srgb,var(--primary) 10%,transparent);
}
[data-main-theme="tamsepet"] .tamsepet-cat-bar-in a.active{
  background:var(--primary);
  color:var(--on-primary);
}
/* "Tüm Ürünler" — committed katman bunu soluk nane yeşiliyle (#eef9f6) boyuyordu,
   aynı barda hover/aktif durumun kullandığı gerçek marka yeşilinden (--primary)
   apayrı bir ton. Artık aynı yeşil aileden, dolu (solid) bir vurgu — barın en
   önemli linki olarak da görsel açıdan öne çıkıyor. */
body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in .tamsepet-all-cats{
  background:var(--primary);
  /* committed kural color'ı !important ile veriyor (site-sans.css:3409) — aynı
     özgüllükte, sonradan yüklenen bir !important onu ancak !important ile ezebilir. */
  color:var(--on-primary) !important;
}
body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in .tamsepet-all-cats:hover{
  background:color-mix(in srgb,var(--primary) 88%,black);
  color:var(--on-primary) !important;
}
/* Header ikincil metinler ve arama kutusu — committed katmandaki lacivert-gri
   (#52657b/#8090a4) yerine sayfanın geri kalanıyla aynı nötr ink tonları. */
body[data-main-theme="tamsepet"] .tamsepet-hd-btn-sub{color:var(--ts-ink-2)}
body[data-main-theme="tamsepet"] .tamsepet-search{border-color:var(--ts-line)}
body[data-main-theme="tamsepet"] .tamsepet-search input{color:var(--ts-ink)}
/* Arama sonuçları açılır paneli (.ts-search-*) — sınıf adları yalnızca tamsepet'te
   kullanıldığından tema önekine gerek yok, committed katmanla aynı seçici, sonradan
   yüklendiği için kazanır. Lacivert (#0b3671/#0b2d5f) yerine ink/primary; chip zemini
   --ts-promo DEĞİL (o yalnızca fiyat/indirim için, bkz. dosya başı) — nötr marka tonu. */
.ts-search-name,
.tamsepet-search-results .ts-search-panel .ts-suggest-row{color:var(--ts-ink)}
.ts-search-cat{background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--ts-ink);border-color:transparent}
.tamsepet-search-results .ts-search-panel .ts-suggest-icon{background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--primary)}
.ts-search-head,
.ts-search-empty,
.ts-search-meta{color:var(--ts-ink-2)}
.ts-search-all{background:color-mix(in srgb,var(--primary) 8%,var(--bg))}

/* ── Üst duyuru barı (mockup: kargo/güvenli ödeme/iade/destek şeridi) ──────────────────
   .market-announce/.sg-announce ile aynı desen (bkz. site-sans.css:2796-2800/2990-2994):
   settings.branding.topBarText doluysa tek satır HTML olarak basılır, boşsa aşağıdaki
   nötr varsayılan liste kullanılır (bkz. _head.ejs). */
body[data-main-theme="tamsepet"] .tamsepet-announce{
  background:var(--primary);
  color:#fff;
  text-align:center;
  padding:8px 16px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.01em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  position:relative;
  z-index:10011;
}
body[data-main-theme="tamsepet"] .tamsepet-announce i{font-size:13px;vertical-align:middle;margin-right:4px}
body[data-main-theme="tamsepet"] .tamsepet-announce a{color:#fff;text-decoration:underline;opacity:.9}
body[data-main-theme="tamsepet"] .tamsepet-announce a:hover{opacity:1}
body[data-main-theme="tamsepet"] .tamsepet-announce .ts-ann-sep{opacity:.4;font-size:10px}
@media(max-width:640px){
  body[data-main-theme="tamsepet"] .tamsepet-announce{font-size:11px;padding:7px 12px;gap:10px}
}

/* ── Arama düğmesi: ikon + "Ara" etiketi (mockup'taki dolgulu buton), sadece masaüstünde;
   mobilde mevcut mercek-ikon açılır panel deneyimi (.tamsepet-search-toggle) korunur. */
@media(min-width:641px){
  body[data-main-theme="tamsepet"] .tamsepet-search-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:44px;
    padding:0 22px;
    border-radius:12px;
    gap:8px;
    font-size:14px;
    font-weight:800;
  }
  body[data-main-theme="tamsepet"] .tamsepet-search-submit span{display:inline}
}
body[data-main-theme="tamsepet"] .tamsepet-search-submit span{display:none}

/* ── .ts-prod-card (ana sayfa "featured_items" blokları) — Faz 1 kart diliyle hizala ─── */
body[data-main-theme="tamsepet"] .ts-prod-card{
  border:0;
  border-radius:var(--ts-card-r);
  padding:8px 8px 10px;
  box-shadow:0 1px 3px rgba(20,28,23,.08);
  height:auto;
}
body[data-main-theme="tamsepet"] .ts-prod-card:hover{
  transform:none;
  box-shadow:0 6px 18px rgba(20,28,23,.14);
}
body[data-main-theme="tamsepet"] .ts-prod-body h3{
  font-size:12.5px;
  font-weight:500;
  color:var(--ts-ink-2);
}
/* Varsayılan (kart boyutu belirtilmemiş — "orta") boyut, katalog/.item ile aynı
   --ts-price-size'a hizalanır. ts-size-sm/ts-size-lg (site-sans.css'te committed,
   .ts-prod-card.ts-size-sm/-lg ile daha yüksek özgüllükte) bunu kasıtlı olarak
   ezer — küçük slider kartında (14.5px) / büyük vitrin kartında (21px) fiyat
   kartın genişliğine göre ölçeklenir; bu ölçekleme kasıtlıdır. Ezilmeyen tek şey
   ağırlık/renktir (--ts-price-weight/--ts-promo) — hangi kart boyutunda olursa
   olsun aynı kalır (bkz. istek: "son gezilen" ve "öne çıkan" bölümlerinin
   fiyatları birbirinden kopuk görünüyordu). */
body[data-main-theme="tamsepet"] .ts-prod-price strong{
  color:var(--ts-promo);
  font-weight:var(--ts-price-weight);
  font-size:var(--ts-price-size);
}
body[data-main-theme="tamsepet"] .ts-prod-price strong.ts-price-disc{color:var(--ts-promo)}
body[data-main-theme="tamsepet"] .ts-prod-badge{background:var(--ts-promo)}
/* --ts-price-size 20px→17px olunca sm/lg varyantlarının oranı da (0.725× / 1.05×,
   bkz. site-sans.css:3469/3475 committed değerler) korunarak yeniden dengelenir —
   bu kural aynı seçicilerle daha sonra yüklendiği için (bkz. dosya başlığı) kazanır. */
body[data-main-theme="tamsepet"] .ts-prod-card.ts-size-sm .ts-prod-price strong{font-size:12.5px}
body[data-main-theme="tamsepet"] .ts-prod-card.ts-size-lg .ts-prod-price strong{font-size:18px}

/* ── Faz 4 — güven şeridi (trust_badges): sabit 5 sütun yerine mevcut alana göre
   esner (4 de 5 de düzgün durur), maddeler arası ince dikey ayraç mockup'taki gibi
   ayırt edicilik katar. */
/* DÜZELTME: bu blok yanlışlıkla .ts-benefits'i (görünmez, şeffaf sarmalayıcı) hedefliyordu —
   asıl görünür beyaz kart .ts-benefits-in'dir (bkz. site-sans.css:3433, committed 14px radius).
   Radius/gölge oraya taşındı; sonuç: önceki değişiklik görsel olarak hiç etkisi olmayan
   "ölü" bir kural haline gelmişti. */
body[data-main-theme="tamsepet"] .ts-benefits-in{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  border-radius:var(--ts-card-r);
  box-shadow:0 8px 22px rgba(20,28,23,.06);
  border-color:var(--ts-line);
}
body[data-main-theme="tamsepet"] .ts-benefit{position:relative;padding-left:14px}
/* İkon dairesi: committed katman #effaf7 (nane yeşili) — sayfadaki diğer tüm "yumuşak
   ikon zemini" örnekleriyle (.ts-cat-visual, arama chip'leri) aynı color-mix formülüne
   çekildi ki hepsi aynı yeşilin farklı tonları gibi dursun, ayrı bir pastel değil. */
body[data-main-theme="tamsepet"] .ts-benefit span{background:color-mix(in srgb,var(--primary) 8%,var(--bg))}
body[data-main-theme="tamsepet"] .ts-benefit:not(:first-child)::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;
  background:var(--ts-line);
}
@media(max-width:1100px){
  body[data-main-theme="tamsepet"] .ts-benefit:nth-child(odd)::before{display:none}
}
@media(max-width:640px){
  body[data-main-theme="tamsepet"] .ts-benefit::before{display:none}
}

/* ── Faz 4 — kategori karoları: yumuşak zeminli, çerçevesiz kare ikon kutusu
   (mockup'taki gibi) — içerik/markup categories_grid bloğundan aynen geliyor. */
body[data-main-theme="tamsepet"] .ts-cat-card{
  border-radius:var(--ts-card-r);
  border-color:var(--ts-line);
  box-shadow:none;
}
body[data-main-theme="tamsepet"] .ts-cat-card:hover{
  transform:none;
  box-shadow:0 4px 14px rgba(20,28,23,.1);
}
body[data-main-theme="tamsepet"] .ts-cat-visual{background:color-mix(in srgb,var(--primary) 7%,var(--bg))}

/* ── Faz 4 — promosyon kartları: 3 slaytlı kampanya blok her zaman EŞİT genişlikte
   tek sıra olsun diye slayt sayısına göre basılan .ts-promo-count-N sınıfı kullanılır
   (bkz. tamsepet-home.ejs). auto-fit sayesinde ayrı bir mobil @media kuralı gerekmez —
   alan daraldıkça kendiliğinden 2 ve 1 sütuna döner. */
/* Renk: site-sans.css'in committed "vitrine yaklaştırılmış" katmanı bu üç kartı
   birbiriyle ilgisiz üç sabit pastel tonla boyuyordu (mint yeşili / gökyüzü mavisi /
   şeftali turuncusu — hiçbiri --primary/--accent/--ts-promo değişkenlerinden
   türetilmemiş) ve başlıkları lacivert (#153b65) basıyordu. Aynı satırdaki bu üç ton
   birbiriyle konuşmuyordu. Üçü de artık gerçek marka tonlarından (color-mix) türetiliyor
   — aynı aile, farklı vurgu; başlık rengi sayfanın geri kalanıyla aynı --ts-ink. */
body[data-main-theme="tamsepet"] .ts-promo{border-radius:var(--ts-card-r)}
body[data-main-theme="tamsepet"] .ts-promo-large{background:color-mix(in srgb,var(--primary) 8%,var(--bg))}
body[data-main-theme="tamsepet"] .ts-promo-blue{background:color-mix(in srgb,var(--accent) 12%,var(--bg))}
body[data-main-theme="tamsepet"] .ts-promo-orange{background:var(--ts-promo-soft)}
body[data-main-theme="tamsepet"] .ts-promo-large h2,
body[data-main-theme="tamsepet"] .ts-promo h3{color:var(--ts-ink)}
body[data-main-theme="tamsepet"] .ts-promo-count-3{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  grid-template-rows:auto;
}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo{grid-row:auto}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo-body{max-width:100%}
/* 3 eşit kartta ilk slaytın büyük başlığı (h2) diğer ikisiyle (h3) aynı görsel
   ağırlıkta görünsün — EJS'te idx===0 için hâlâ <h2> basılıyor, burada yalnızca
   boyutu h3 ölçeğine indiriyoruz. */
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo-large h2{
  font-size:clamp(15px,2vw,22px);
  margin-bottom:16px;
}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo-large h2 span{font-size:inherit}

/* Aynı formül hero'da da kullanılıyor (bkz. .ts-hero-inner) — sayfanın en üstü ve en
   altı aynı marka gradyanıyla "kapanıyor", committed sürümdeki alakasız gökyüzü mavisi
   gradyan yerine. Başlık rengi de lacivertten (#0b3671) --ts-ink'e çekildi. */
body[data-main-theme="tamsepet"] .ts-newsletter{
  border-radius:var(--ts-card-r);
  background:linear-gradient(105deg,color-mix(in srgb,var(--primary) 7%,var(--bg)) 0%,var(--bg) 60%,color-mix(in srgb,var(--accent) 9%,var(--bg)) 100%);
}
body[data-main-theme="tamsepet"] .ts-newsletter-left h2{color:var(--ts-ink)}

/* ── Faz 4 — marka logoları şeridi (brands bloğu, generic markup): gri tonlamalı,
   hover'da renklenir; mobilde tek satır yatay kaydırma. */
body[data-main-theme="tamsepet"] .brands-section{padding:8px 0 16px}
body[data-main-theme="tamsepet"] .brands-row{
  display:flex;
  align-items:center;
  gap:clamp(24px,4vw,56px);
  flex-wrap:wrap;
  justify-content:center;
}
body[data-main-theme="tamsepet"] .brand-item{
  filter:grayscale(1) opacity(.55);
  transition:filter .18s;
}
body[data-main-theme="tamsepet"] .brand-item:hover{filter:grayscale(0) opacity(1)}
body[data-main-theme="tamsepet"] .brand-item img{max-height:34px;width:auto;object-fit:contain}
@media(max-width:640px){
  body[data-main-theme="tamsepet"] .brands-row{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    gap:32px;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  body[data-main-theme="tamsepet"] .brands-row::-webkit-scrollbar{display:none}
  body[data-main-theme="tamsepet"] .brand-item{flex-shrink:0}
}

/* ═══ Faz 5 — Geri sayım + Çok Satanlar sıra rozetleri (yalnızca gerçek veri) ═══════════ */
body[data-main-theme="tamsepet"] .ts-sec-head-title{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;
}
body[data-main-theme="tamsepet"] .ts-sec-head-title h2{overflow:visible;white-space:normal}
body[data-main-theme="tamsepet"] .ts-deal-countdown{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--ts-promo-soft);color:var(--ts-promo);
  font-size:12.5px;font-weight:800;
  padding:6px 12px;border-radius:999px;
  white-space:nowrap;
}
body[data-main-theme="tamsepet"] .ts-deal-countdown i{font-size:13px}
body[data-main-theme="tamsepet"] .ts-deal-time{font-variant-numeric:tabular-nums}
/* Sıra rozeti (1/2/3/4) — yalnızca "Çok satanlar" kaynağında, gerçek satış verisi
   olan ilk 4 üründe basılır (bkz. tamsepet-home.ejs _featIsBestSellers). İndirim/Yeni
   rozetiyle aynı köşeyi paylaştığı nadir durumda onları altına iter. */
body[data-main-theme="tamsepet"] .ts-prod-rank{
  position:absolute;top:8px;left:8px;z-index:2;
  width:24px;height:24px;border-radius:50%;
  background:var(--ts-ink);color:#fff;
  font-size:12px;font-weight:800;line-height:1;
  display:grid;place-items:center;
}
body[data-main-theme="tamsepet"] .ts-prod-rank + .ts-prod-badge{top:40px}
body[data-main-theme="tamsepet"] .ts-prod-rank + .ts-prod-badge + .ts-prod-badge-new{top:72px}

/* ═══ Faz 6 — mobil alt menü çubuğu (.mob-bar, bkz. _foot.ejs) ═══════════════════════════
   Altyapı ve JS zaten paylaşılan dosyada var; burada yalnızca tamsepet'in beyaz zeminine
   ve sepet/fiyat rengi standardına (--ts-promo) hizalanıyor. */
body[data-main-theme="tamsepet"] .mob-bar{background:#fff;border-top:1px solid var(--ts-line)}
body[data-main-theme="tamsepet"] .mbb-cart-badge{background:var(--ts-promo)}
body[data-main-theme="tamsepet"] .mbb-fav i{color:var(--ts-promo)}

/* Footer markup paylaşılan _foot.ejs'ten geliyor (tüm tenantlarda aynı) — yalnızca
   bağlantı hover renginde marka rengine (yeşil) hizalanır, kabuk/markup değişmez. */
body[data-main-theme="tamsepet"] footer .ft-col a:hover,
body[data-main-theme="tamsepet"] footer .socials a:hover{
  color:var(--accent) !important;
  background:color-mix(in srgb,var(--accent) 22%,transparent);
}

/* ═══ Faz 3 — ürün detay: "Benzer Ürünler" (.rel-card) Faz 1 kart diline hizalanır ═══ */
body[data-main-theme="tamsepet"] .rel-grid{align-items:start}
body[data-main-theme="tamsepet"] .rel-card{
  border:0;
  border-radius:var(--ts-card-r);
  box-shadow:0 1px 3px rgba(20,28,23,.08);
}
body[data-main-theme="tamsepet"] .rel-card:hover{
  transform:none;
  box-shadow:0 6px 18px rgba(20,28,23,.14);
}
body[data-main-theme="tamsepet"] .rel-name{
  font-size:12.5px;
  font-weight:500;
  color:var(--ts-ink-2);
}
body[data-main-theme="tamsepet"] .rel-price{
  color:var(--ts-promo);
  font-size:var(--ts-price-size);
  font-weight:var(--ts-price-weight);
  margin-top:0;
}
body[data-main-theme="tamsepet"] .rel-price-orig{
  font-size:11px;
  color:var(--ts-ink-2);
  text-decoration:line-through;
}

/* ═══ 2026 vitrin yenilemesi ═══════════════════════════════════════════════════════════
   Referans Tam Sepetlik ekranlarının turuncu marka dili, yoğun ama okunaklı ürün rafları
   ve mobil uygulama hissi. Bu katman yalnızca tamsepet temasına uygulanır. */
body[data-main-theme="tamsepet"]{
  --ts-promo:var(--primary);
  --ts-promo-soft:color-mix(in srgb,var(--primary) 10%,#fff);
  --ts-ink:#171717;
  --ts-ink-2:#626262;
  --ts-line:#ececec;
  --ts-card-r:14px;
  --ts-grid-gap:14px;
  background:#f7f7f8;
}
body[data-main-theme="tamsepet"] .ts-main{background:#f7f7f8;padding-bottom:20px}
body[data-main-theme="tamsepet"] .wrap,
body[data-main-theme="tamsepet"] .ts-wrap{max-width:1440px;padding-left:clamp(18px,3vw,44px);padding-right:clamp(18px,3vw,44px)}

/* Üst kabuk */
body[data-main-theme="tamsepet"] .tamsepet-announce{
  min-height:36px;padding:7px clamp(18px,4vw,56px);justify-content:center;gap:24px;flex-wrap:nowrap;
  background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 72%,var(--accent)));font-size:12px;font-weight:700;
}
body[data-main-theme="tamsepet"] .tamsepet-announce>span:not(.ts-ann-sep),
body[data-main-theme="tamsepet"] .tamsepet-announce>a{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.2;
}
body[data-main-theme="tamsepet"] header.nav{background:#fff;border-color:var(--ts-line);box-shadow:0 3px 14px rgba(0,0,0,.035)}
body[data-main-theme="tamsepet"] header.nav .nav-in{min-height:84px;gap:22px}
body[data-main-theme="tamsepet"] .logo{max-width:225px;color:var(--primary);font-size:25px;font-weight:900;letter-spacing:-1px}
body[data-main-theme="tamsepet"] .logo i{background:var(--primary);color:#fff;border-radius:12px}
body[data-main-theme="tamsepet"] .tamsepet-search{
  height:50px;max-width:650px;margin-inline:auto;padding-left:20px;border:2px solid #e7e7e7;
  border-radius:12px;box-shadow:none;background:#fafafa;
}
body[data-main-theme="tamsepet"] .tamsepet-search:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}
body[data-main-theme="tamsepet"] .tamsepet-search input:focus,
body[data-main-theme="tamsepet"] .tamsepet-search input:focus-visible{
  border:0!important;outline:0!important;box-shadow:none!important;background:transparent;
}
body[data-main-theme="tamsepet"] .tamsepet-search-submit{background:var(--primary);border-radius:9px!important;box-shadow:none}
body[data-main-theme="tamsepet"] .tamsepet-hd-actions{gap:8px}
body[data-main-theme="tamsepet"] .tamsepet-hd-btn{min-width:68px;padding:8px 10px;border-radius:10px;color:#282828}
body[data-main-theme="tamsepet"] .tamsepet-hd-btn:hover{background:var(--ts-promo-soft);color:var(--primary)}
body[data-main-theme="tamsepet"] .tamsepet-hd-btn i{font-size:24px}
body[data-main-theme="tamsepet"] .tamsepet-cart-badge{
  top:-9px;right:-12px;left:auto;width:21px;min-width:21px;max-width:32px;height:21px;
  padding:0 4px;box-sizing:border-box;display:inline-grid;place-items:center;
  border:2px solid #fff;border-radius:999px;background:var(--primary);color:#fff;
  font-size:10px;font-weight:850;line-height:1;white-space:nowrap;overflow:hidden;
}
body[data-main-theme="tamsepet"] .tamsepet-cart-icon-wrap{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:26px;flex:0 0 28px;line-height:1;
}
body[data-main-theme="tamsepet"] .tamsepet-cart-icon-wrap>i{font-size:24px;line-height:1}
body[data-main-theme="tamsepet"] .tamsepet-cat-bar{background:#fff;border-color:var(--ts-line);box-shadow:0 3px 8px rgba(0,0,0,.025)}
body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in{height:50px;gap:8px}
body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in a{background:transparent;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700}
body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in .tamsepet-all-cats{border-radius:8px;padding:9px 18px}

/* Ana vitrin: gerçek kampanya görselini öne çıkaran, masaüstünde referans oranına yakın yapı */
body[data-main-theme="tamsepet"] .ts-hero{padding:20px 0 0!important;background:transparent;overflow:visible}
body[data-main-theme="tamsepet"] .ts-hero-inner{
  min-height:410px;padding:52px 58px;border-radius:18px;
  background:linear-gradient(115deg,var(--primary) 0%,var(--accent) 100%);box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 18%,transparent);
}
body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img{min-height:410px;background-position:center!important}
body[data-main-theme="tamsepet"] .ts-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.32) 48%,rgba(0,0,0,.04) 78%)}
body[data-main-theme="tamsepet"] .ts-hero-content{max-width:560px}
body[data-main-theme="tamsepet"] .ts-hero-content h1{font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-2px;color:#fff;margin-bottom:16px}
body[data-main-theme="tamsepet"] .ts-hero-content h1 .ts-hero-accent{color:#fff}
body[data-main-theme="tamsepet"] .ts-hero-p{max-width:480px;color:rgba(255,255,255,.9);font-size:17px;line-height:1.55;margin-bottom:24px}
body[data-main-theme="tamsepet"] .ts-btn-primary{background:#fff;color:#1a1a1a!important;border-radius:10px;padding:14px 22px;box-shadow:0 8px 20px rgba(0,0,0,.14)}
body[data-main-theme="tamsepet"] .ts-btn-primary:hover{box-shadow:0 12px 28px rgba(0,0,0,.2)}
body[data-main-theme="tamsepet"] .ts-social-proof{color:rgba(255,255,255,.88)}
body[data-main-theme="tamsepet"] .ts-av{border-color:#fff;background:color-mix(in srgb,var(--accent) 32%,#fff)}
body[data-main-theme="tamsepet"] .ts-hero-nav{width:42px;height:42px;border:0;background:rgba(255,255,255,.88)}
body[data-main-theme="tamsepet"] .ts-hero-dot{background:rgba(255,255,255,.55)}
body[data-main-theme="tamsepet"] .ts-hero-dot.active{background:#fff}

/* Güven, kategori ve bölüm ritmi */
body[data-main-theme="tamsepet"] .ts-benefits{margin:18px auto 12px}
body[data-main-theme="tamsepet"] .ts-benefits-in{padding:20px 24px;background:#fff;border:1px solid var(--ts-line);box-shadow:0 4px 16px rgba(0,0,0,.035)}
body[data-main-theme="tamsepet"] .ts-benefit{padding:0 18px;grid-template-columns:44px 1fr;column-gap:12px}
body[data-main-theme="tamsepet"] .ts-benefit span{width:42px;height:42px;background:var(--ts-promo-soft)}
body[data-main-theme="tamsepet"] .ts-benefit strong{font-size:13.5px;color:var(--ts-ink)}
body[data-main-theme="tamsepet"] .ts-section{padding:15px 0}
body[data-main-theme="tamsepet"] .ts-section>.ts-wrap{background:#fff;border:1px solid var(--ts-line);border-radius:16px;padding-top:20px;padding-bottom:22px}
body[data-main-theme="tamsepet"] .ts-sec-head{margin:0 0 17px}
body[data-main-theme="tamsepet"] .ts-sec-head h2{font-size:clamp(21px,2.2vw,28px);font-weight:850;letter-spacing:-.6px}
body[data-main-theme="tamsepet"] .ts-sec-head a{color:#292929;font-size:13px}
body[data-main-theme="tamsepet"] .ts-sec-head a:hover{color:var(--primary)}
body[data-main-theme="tamsepet"] .ts-cat-card{background:#fff;border:0;box-shadow:none!important;padding-top:4px}
body[data-main-theme="tamsepet"] .ts-cat-card:hover{transform:translateY(-2px)!important}
body[data-main-theme="tamsepet"] .ts-cat-visual{background:#f5f5f5!important;border:1px solid #eeeeee}
body[data-main-theme="tamsepet"] .ts-cat-card h3{font-weight:700;color:#242424}

/* Kampanya ve ürün rafları */
body[data-main-theme="tamsepet"] .ts-promo-grid{gap:14px}
body[data-main-theme="tamsepet"] .ts-promo{min-height:170px;padding:28px 30px;border:1px solid rgba(255,75,11,.08)}
body[data-main-theme="tamsepet"] .ts-promo-large{background:color-mix(in srgb,var(--primary) 9%,#fff)}
body[data-main-theme="tamsepet"] .ts-promo-blue{background:color-mix(in srgb,var(--accent) 13%,#fff)}
body[data-main-theme="tamsepet"] .ts-promo-orange{background:color-mix(in srgb,var(--primary) 6%,#fff)}
body[data-main-theme="tamsepet"] .ts-promo-btn{background:#fff;color:#262626!important;border:1px solid #e7ded9;box-shadow:0 2px 6px rgba(0,0,0,.04)}
body[data-main-theme="tamsepet"] .ts-products-grid{gap:var(--ts-grid-gap)}
body[data-main-theme="tamsepet"] .ts-prod-card,
body[data-main-theme="tamsepet"] .portal-card,
body[data-main-theme="tamsepet"] .item,
body[data-main-theme="tamsepet"] .rel-card{border:1px solid #ededed;background:#fff;box-shadow:none}
body[data-main-theme="tamsepet"] .ts-prod-card:hover,
body[data-main-theme="tamsepet"] .portal-card:hover,
body[data-main-theme="tamsepet"] .item:hover,
body[data-main-theme="tamsepet"] .rel-card:hover{border-color:#dedede;box-shadow:0 10px 26px rgba(0,0,0,.09);transform:translateY(-2px)}
body[data-main-theme="tamsepet"] .ts-prod-media>a img{height:190px;margin-bottom:10px;transition:transform .25s ease}
body[data-main-theme="tamsepet"] .ts-prod-card:hover .ts-prod-media>a img{transform:scale(1.035)}
body[data-main-theme="tamsepet"] .ts-prod-body h3,
body[data-main-theme="tamsepet"] .pc-name,
body[data-main-theme="tamsepet"] .item .i-name{color:#252525;font-size:13px;line-height:1.42}
body[data-main-theme="tamsepet"] .ts-prod-price strong,
body[data-main-theme="tamsepet"] .pc-price,
body[data-main-theme="tamsepet"] .item .i-price,
body[data-main-theme="tamsepet"] .rel-price{color:var(--primary)}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only{background:#fff;color:var(--primary)!important;border:1.5px solid var(--primary);box-shadow:none}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only:hover{background:var(--primary);color:#fff!important}
body[data-main-theme="tamsepet"] .ts-newsletter{background:linear-gradient(105deg,color-mix(in srgb,var(--primary) 10%,#fff),color-mix(in srgb,var(--accent) 9%,#fff));border:1px solid color-mix(in srgb,var(--primary) 16%,#fff)}
body[data-main-theme="tamsepet"] .ts-nl-form button{background:var(--primary)}

/* Mobil: uygulama benzeri turuncu başlık, yatay raflar ve rahat dokunma alanları */
@media(max-width:840px){
  body[data-main-theme="tamsepet"]{background:#fff}
  body[data-main-theme="tamsepet"] .ts-main{background:#fff;padding-bottom:76px}
  body[data-main-theme="tamsepet"] .tamsepet-announce{
    display:flex;min-height:30px;padding:5px 4px;gap:0;justify-content:space-evenly;
    flex-wrap:nowrap;font-size:10.5px;letter-spacing:0;
  }
  body[data-main-theme="tamsepet"] .tamsepet-announce .ts-ann-sep{display:none}
  body[data-main-theme="tamsepet"] .tamsepet-announce>span:not(.ts-ann-sep){flex:1;min-width:0}
  body[data-main-theme="tamsepet"] .tamsepet-announce>a{display:none}
  body[data-main-theme="tamsepet"] .tamsepet-announce i{font-size:11px;margin-right:3px}
  body[data-main-theme="tamsepet"] header.nav{background:#fff;border:0;border-bottom:1px solid var(--ts-line);box-shadow:0 3px 12px rgba(13,39,26,.05)}
  body[data-main-theme="tamsepet"] header.nav .nav-in{min-height:56px;padding:6px 14px;gap:7px;flex-wrap:nowrap}
  body[data-main-theme="tamsepet"] .logo{color:var(--primary)!important;font-size:21px;max-width:calc(100% - 106px);margin-right:auto}
  body[data-main-theme="tamsepet"] .logo img{width:auto;max-width:100%;max-height:38px;object-fit:contain;filter:none}
  body[data-main-theme="tamsepet"] .logo i{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}
  body[data-main-theme="tamsepet"] .tamsepet-search-toggle,
  body[data-main-theme="tamsepet"] .burger{width:42px;height:42px;border:1px solid var(--ts-line);background:#fff;color:var(--primary);box-shadow:0 2px 7px rgba(13,39,26,.06)}
  body[data-main-theme="tamsepet"] .tamsepet-search-toggle[aria-expanded="true"],
  body[data-main-theme="tamsepet"] .burger[aria-expanded="true"]{background:var(--primary);color:#fff;border-color:var(--primary)}
  body[data-main-theme="tamsepet"] .tamsepet-search{left:12px;right:12px;top:calc(100% + 6px);padding:7px;border:0;border-radius:12px;box-shadow:0 14px 32px rgba(0,0,0,.2)}
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar{
    position:sticky;top:0;left:0;
    width:100vw;max-width:100vw;margin:0;padding:0;
    overflow-x:clip;
  }
  /* Mobil kategori menüsü header'ın altında gerçek tam genişlikte kalır. Genel
     .wrap yatay padding'i burada ikinci kez boşluk oluşturuyordu. */
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar-wrap{
    width:100vw;max-width:none;
    margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
    padding-inline:0;box-sizing:border-box;
  }
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in{width:100%;height:46px;padding-inline:0;gap:4px}
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in a{font-size:12px;padding:7px 10px}
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in .tamsepet-all-cats{
    left:0;margin-left:0!important;padding:8px 12px;
    border-radius:0 8px 8px 0!important;
  }
  body[data-main-theme="tamsepet"] .ts-hero{padding-top:12px!important}
  body[data-main-theme="tamsepet"] .ts-hero-inner,
  body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img{min-height:330px;padding:30px 24px;border-radius:16px;background-position:62% center!important}
  body[data-main-theme="tamsepet"] .ts-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.32) 72%,rgba(0,0,0,.1))}
  body[data-main-theme="tamsepet"] .ts-hero-content{max-width:78%}
  body[data-main-theme="tamsepet"] .ts-hero-content h1{font-size:clamp(28px,8vw,40px);letter-spacing:-1.2px}
  body[data-main-theme="tamsepet"] .ts-hero-p{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body[data-main-theme="tamsepet"] .ts-benefits{width:calc(100% - 32px);overflow:hidden}
  body[data-main-theme="tamsepet"] .ts-benefits-in{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 8px;scrollbar-width:none}
  body[data-main-theme="tamsepet"] .ts-benefit{flex:0 0 210px;scroll-snap-align:start;padding:0 14px}
  body[data-main-theme="tamsepet"] .ts-benefit::before{display:block!important}
  body[data-main-theme="tamsepet"] .ts-benefit:first-child::before{display:none!important}
  body[data-main-theme="tamsepet"] .ts-section{padding:8px 0}
  body[data-main-theme="tamsepet"] .ts-section>.ts-wrap{border-left:0;border-right:0;border-radius:0;padding:18px 16px 20px}
  body[data-main-theme="tamsepet"] .ts-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body[data-main-theme="tamsepet"] .ts-prod-media>a img{height:clamp(145px,41vw,210px)}
  body[data-main-theme="tamsepet"] .ts-promo-count-3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo{flex:0 0 78vw;scroll-snap-align:start}
  body[data-main-theme="tamsepet"] .ts-newsletter{margin:18px 16px;padding:24px 0}
}
@media(max-width:520px){
  body[data-main-theme="tamsepet"] .wrap,
  body[data-main-theme="tamsepet"] .ts-wrap{padding-left:16px;padding-right:16px}
  body[data-main-theme="tamsepet"] .ts-hero-inner,
  body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img{min-height:290px;padding:26px 20px}
  body[data-main-theme="tamsepet"] .ts-hero-content{max-width:88%}
  body[data-main-theme="tamsepet"] .ts-hero-content h1{font-size:30px}
  body[data-main-theme="tamsepet"] .ts-btn-primary{padding:12px 16px;font-size:13px}
  body[data-main-theme="tamsepet"] .ts-social-proof{display:none}
  body[data-main-theme="tamsepet"] .ts-sec-head h2{font-size:20px}
  body[data-main-theme="tamsepet"] .ts-prod-card{padding:7px}
  body[data-main-theme="tamsepet"] .ts-prod-body h3{min-height:37px;font-size:12.5px}
  body[data-main-theme="tamsepet"] .ts-prod-price strong{font-size:15px}
}

/* ═══ Faz 5 — "Öne Çıkan Ürünler" kartı (.ts-prod-card): rozet/favori düzeni
   referans mockup'lara yaklaştırıldı. site-sans.css'in committed .ts-prod-badge
   konumu (top:130px) sabit bir görsel yüksekliği varsayıyordu — kart boyutu
   (ts-size-sm/-lg) görsel yüksekliğini değiştirdiğinde rozet görselin ortasında
   kalıyordu. top/left'i kartın kendi iç boşluğuna (8px padding) bağlamak, rozeti
   kart boyutundan bağımsız olarak her zaman görselin sol-üst köşesine oturtur. ═══ */
body[data-main-theme="tamsepet"] .ts-prod-badge{
  top:8px;left:8px;
  /* Önceki sürüm max-width:46px + white-space:normal ile metni zorla iki satıra
     sardırıyordu ("İndirim" kelimesi sıkışık/kırık görünüyordu) — tek satırlık,
     içeriğe göre genişleyen sade bir kapsül daha profesyonel/temiz duruyor. */
  white-space:nowrap;
  border-radius:6px;font-size:11px;font-weight:800;padding:5px 8px;
}
body[data-main-theme="tamsepet"] .ts-prod-badge-new{top:8px;left:8px;border-radius:8px}
/* İndirim VE "Yeni" rozeti aynı anda varsa (markup'ta indirim rozeti her zaman
   önce basılır, bkz. tamsepet-home.ejs) ikincisi altına iner, üst üste binmez. */
body[data-main-theme="tamsepet"] .ts-prod-badge + .ts-prod-badge-new{top:40px}
/* Favori kalbi: site-sans.css'in paylaşılan .ts-card-favorite-overlay kuralı
   (site-sans.css:240) görselin sağ-ALTINA yerleştiriyor; bu sınıf yalnızca
   tamsepet ana sayfa kartında kullanıldığı için (katalog/.portal-card ayrı
   .pc-favorite-overlay sınıfını kullanır, dokunulmadı) mockup'lardaki gibi
   sağ-ÜSTE taşımak güvenli. */
body[data-main-theme="tamsepet"] .ts-card-favorite-overlay{top:8px;right:8px;bottom:auto;left:auto}

/* ═══ Faz 4 — kart satır hizası ═══════════════════════════════════════════════════════
   .ts-card-meta (puan/satış satırı + çip satırı için ortak sarmalayıcı, bkz.
   _item-card-portal.ejs/_item-card.ejs/tamsepet-home.ejs/item-detail.ejs — hepsinde
   aynı sarmalayıcı) sabit bir min-height alır ki bir üründe rozet/puan olup
   komşusunda olmadığında fiyat + "sepete ekle" satırı aynı satırda aynı yükseklikte
   kalsın. Bu sarmalayıcı diğer tenantlarda da DOM'da var ama bu kural yalnızca
   tamsepet'te devrede olduğu için onlarda hiçbir görsel etki yaratmaz. */
/* Puan VE çip aynı anda varsa (ör. yorumlu + az stoklu ürün) alt alta değil YAN YANA
   dizilir — ikisi ayrı satıra düşünce .ts-card-meta'nın yüksekliği (dolayısıyla
   fiyat/buton satırının konumu) üründen ürüne değişiyordu (bkz. mock test: puanlı+
   çipli üründe fiyat satırı 19px aşağıda kalıyordu). display:flex + wrap: ikisi de
   sığdığında tek satırda kalır, sığmadığı (çok dar kart/çok uzun metin) nadir durumda
   sarar — ama bu artık istisna, kural değil. */
body[data-main-theme="tamsepet"] .ts-card-meta{
  min-height:24px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  column-gap:8px;
  row-gap:4px;
}
body[data-main-theme="tamsepet"] .ts-card-meta .product-card-rating{margin:0}
body[data-main-theme="tamsepet"] .ts-card-meta .ts-card-chips{margin:0}

/* ── Canlı veri incelemesi sonrası yapısal düzeltmeler ─────────────────────────────── */
body[data-main-theme="tamsepet"] .ts-hero-inner[style*="tamsepetlik-hero-green-"]{
  background-position:center!important;
}
body[data-main-theme="tamsepet"] .ts-hero-inner[style*="tamsepetlik-hero-green-"] .ts-hero-overlay{
  background:linear-gradient(90deg,rgba(5,52,27,.68) 0%,rgba(16,84,48,.3) 42%,transparent 65%);
}
body[data-main-theme="tamsepet"] .ts-hero-inner[style*="tamsepetlik-hero-green-"] .ts-hero-content{
  text-shadow:0 2px 18px rgba(4,45,23,.2);
}

body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo{
  min-height:180px;padding:26px 22px;background-size:cover!important;background-position:center!important;
  border:1px solid #f1e8e3;isolation:isolate;
}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 43%,rgba(255,255,255,.5) 62%,rgba(255,255,255,.04) 82%);
}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo::after{display:none}
body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo-body{position:relative;z-index:1;max-width:58%;color:var(--ts-ink)}
body[data-main-theme="tamsepet"] .ts-promo-count-3 h2,
body[data-main-theme="tamsepet"] .ts-promo-count-3 h3{margin:0;color:var(--ts-ink)!important;font-weight:800;line-height:1.25}
body[data-main-theme="tamsepet"] .ts-promo-count-3 h2 span,
body[data-main-theme="tamsepet"] .ts-promo-count-3 h3 span{display:inline-block;margin-top:7px;font-size:13px;line-height:1.42;color:var(--ts-ink-2)}
body[data-main-theme="tamsepet"] .ts-promo-icon{
  position:absolute;right:24px;top:50%;transform:translateY(-50%);width:52px;height:52px;
  display:grid;place-items:center;border-radius:16px;background:#fff;color:var(--primary);
  box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 16%,transparent);font-size:28px;
}

/* Yönetici ayarındaki 160px kategori görselleri, altı öğelik satırı gereksiz yere
   domine ediyordu. Ana sayfada referanstaki kompakt kategori rayına indirgenir. */
body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"]{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
  justify-content:stretch!important;align-items:start;gap:clamp(12px,2vw,28px)!important;width:100%;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-card{
  width:100%!important;max-width:none!important;overflow:visible!important;display:flex;flex-direction:column;align-items:center;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-visual{
  width:86px!important;height:86px!important;margin:0 auto 10px!important;border-radius:50%!important;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-card h3{
  position:static!important;background:none!important;color:var(--ts-ink)!important;
  padding:0!important;text-align:center;font-size:12.5px!important;line-height:1.3!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]{display:block!important;width:auto}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head{
  display:flex!important;align-items:center;justify-content:space-between;width:100%;margin:0 0 20px;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head h2{
  margin:0;font-size:clamp(21px,2.2vw,28px);white-space:normal;overflow:visible;
}
body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head a{
  display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--ts-line);
  border-radius:9px;background:#fff;color:var(--primary);font-size:12.5px;font-weight:800;
}

/* category_tabs, Tam Sepetlik şablonunun dışında ortak bloktan geldiği için önceki
   ts-section düzenine katılmıyordu. Aynı beyaz raf kabuğu ve dikey ritme alınır. */
body[data-main-theme="tamsepet"] .ct-section{padding:15px 0!important}
body[data-main-theme="tamsepet"] .ct-section>.wrap{
  background:#fff;border:1px solid var(--ts-line);border-radius:16px;
  padding-top:22px;padding-bottom:24px;
}
body[data-main-theme="tamsepet"] .ct-title{font-size:clamp(21px,2.2vw,28px)!important;letter-spacing:-.6px;margin-bottom:14px!important}
body[data-main-theme="tamsepet"] .ct-tabs-wrap{margin-bottom:20px!important}
body[data-main-theme="tamsepet"] .ct-tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
body[data-main-theme="tamsepet"] .ct-tabs::-webkit-scrollbar{display:none}
body[data-main-theme="tamsepet"] .ct-tab{padding:9px 14px!important;font-size:12.5px!important;flex-shrink:0}
body[data-main-theme="tamsepet"] .ct-grid{gap:12px!important}
body[data-main-theme="tamsepet"] .ct-grid .item{border-radius:var(--ts-card-r)!important}
body[data-main-theme="tamsepet"] .ct-view-all{display:flex;justify-content:center;margin-top:24px}
body[data-main-theme="tamsepet"] .ct-view-all a{
  min-height:44px;padding:0 22px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;
  background:var(--primary);color:#fff!important;font-size:13.5px;font-weight:800;
}
body[data-main-theme="tamsepet"] .ct-view-all a:hover{background:color-mix(in srgb,var(--primary) 86%,#000)}

@media(max-width:840px){
  body[data-main-theme="tamsepet"] .ts-hero-inner[style*="tamsepetlik-hero-green-"]{background-position:58% center!important}
  body[data-main-theme="tamsepet"] .ts-hero-inner[style*="tamsepetlik-hero-green-"] .ts-hero-overlay{
    background:linear-gradient(90deg,rgba(4,48,25,.78),rgba(12,75,41,.5) 56%,rgba(12,75,41,.08));
  }
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"]{
    display:flex!important;justify-content:flex-start!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
    gap:8px!important;padding:0 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"]::-webkit-scrollbar{display:none}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-card{
    display:flex!important;flex:0 0 92px;width:92px!important;max-width:92px!important;scroll-snap-align:start;
  }
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-visual{display:flex!important;width:72px!important;height:72px!important;flex:0 0 72px}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-card h3{display:-webkit-box!important;font-size:11.5px!important}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head{margin-bottom:16px;gap:10px}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head h2{font-size:19px;line-height:1.2}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head a{min-height:36px;padding:0 11px;font-size:11.5px;white-space:nowrap}
  body[data-main-theme="tamsepet"] .ct-section>.wrap{border-left:0;border-right:0;border-radius:0;padding:18px 14px 20px!important}
  body[data-main-theme="tamsepet"] .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
}
@media(max-width:520px){
  body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo{flex-basis:84vw;min-height:158px;padding:22px 18px}
  body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo-body{max-width:64%}
  body[data-main-theme="tamsepet"] .ts-promo-count-3 .ts-promo::before{
    background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.88) 52%,rgba(255,255,255,.2) 82%);
  }
}

/* ── Ortak mağaza ekseni ─────────────────────────────────────────────────────────────
   Görünür bölüm kabuklarının tamamı aynı dış genişliği kullanır. Önceki yapıda hero,
   benefits ve section kabuklarının padding/width hesapları farklı katmanlarda olduğu
   için kenarlar 44px'e kadar birbirinden kaçıyordu. */
@media(min-width:841px){
  body[data-main-theme="tamsepet"]{
    --ts-shell-width:min(1352px,calc(100% - 88px));
    --ts-shell-pad:28px;
  }
  body[data-main-theme="tamsepet"] .ts-hero>.ts-wrap,
  body[data-main-theme="tamsepet"] .ts-benefits,
  body[data-main-theme="tamsepet"] .ts-section>.ts-wrap,
  body[data-main-theme="tamsepet"] .ct-section>.wrap,
  body[data-main-theme="tamsepet"] .brands-section>.wrap,
  body[data-main-theme="tamsepet"] .ts-newsletter{
    width:var(--ts-shell-width);
    max-width:1352px;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
  body[data-main-theme="tamsepet"] header.nav .nav-in,
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar .tamsepet-cat-bar-in{
    width:var(--ts-shell-width);max-width:1352px;margin-left:auto;margin-right:auto;
    padding-left:0;padding-right:0;box-sizing:border-box;
  }
  body[data-main-theme="tamsepet"] .ts-hero>.ts-wrap{padding-left:0;padding-right:0}
  body[data-main-theme="tamsepet"] .ts-benefits{padding-left:0!important;padding-right:0!important}
  body[data-main-theme="tamsepet"] .ts-benefits>.ts-benefits-in{
    width:100%;max-width:none;margin:0;padding-left:var(--ts-shell-pad);padding-right:var(--ts-shell-pad);
  }
  body[data-main-theme="tamsepet"] .ts-section>.ts-wrap,
  body[data-main-theme="tamsepet"] .ct-section>.wrap{
    padding-left:var(--ts-shell-pad);padding-right:var(--ts-shell-pad);
  }
  body[data-main-theme="tamsepet"] .ts-newsletter>.ts-wrap{
    width:100%;max-width:none;padding-left:var(--ts-shell-pad);padding-right:var(--ts-shell-pad);
  }
}

/* Portal kartlarının temel .pc-media-slide kuralındaki marka renkli fallback,
   contain görsellerin çevresinde yeşil bir çerçeve/zaman görünüyordu. Tüm ürün
   fotoğraf alanları ve boş görsel durumu nötr beyaz stüdyo zemini kullanır. */
body[data-main-theme="tamsepet"] :is(
  .portal-card .pc-media,
  .portal-card .pc-media-track,
  .pc-media-slide,
  .portal-card .pc-media-empty,
  .item .ph,
  .ts-prod-media,
  .ts-prod-empty-img,
  .rel-img
){
  background-color:#fff!important;
}

@media(max-width:840px){
  body[data-main-theme="tamsepet"]{
    --ts-shell-width:100%;
    --ts-shell-pad:16px;
  }
  body[data-main-theme="tamsepet"] .ts-hero>.ts-wrap,
  body[data-main-theme="tamsepet"] .ts-benefits,
  body[data-main-theme="tamsepet"] .ts-section>.ts-wrap,
  body[data-main-theme="tamsepet"] .ct-section>.wrap,
  body[data-main-theme="tamsepet"] .brands-section>.wrap,
  body[data-main-theme="tamsepet"] .ts-newsletter{
    width:var(--ts-shell-width);max-width:none;margin-left:auto;margin-right:auto;box-sizing:border-box;
  }
  body[data-main-theme="tamsepet"] .ts-hero>.ts-wrap{padding-left:0;padding-right:0}
  body[data-main-theme="tamsepet"] .ts-benefits{padding-left:0!important;padding-right:0!important}
  body[data-main-theme="tamsepet"] .ts-benefits>.ts-benefits-in{width:100%;max-width:none;margin:0}
  body[data-main-theme="tamsepet"] .ts-section>.ts-wrap,
  body[data-main-theme="tamsepet"] .ct-section>.wrap{border-left:0;border-right:0;border-radius:0}
  body[data-main-theme="tamsepet"] .ts-hero-inner,
  body[data-main-theme="tamsepet"] .ts-hero-inner.ts-hero-has-img,
  body[data-main-theme="tamsepet"] .ts-benefits-in,
  body[data-main-theme="tamsepet"] .ts-newsletter{border-left:0;border-right:0;border-radius:0}
  body[data-main-theme="tamsepet"] .ts-newsletter{margin-top:18px;margin-bottom:18px}
  body[data-main-theme="tamsepet"] .ts-newsletter>.ts-wrap{width:100%;max-width:none;padding-left:var(--ts-shell-pad);padding-right:var(--ts-shell-pad)}
}

/* Dar mobilde uzun yönetici başlıkları CTA'yı sıkıştırmasın; kullanıcıya kısa ve net
   mobil etiketler gösterilir, masaüstündeki tam metin semantik olarak korunur. */
@media(max-width:420px){
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head h2,
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head a{font-size:0!important}
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head h2::before{
    content:"Kategoriler";font-size:19px;font-weight:850;line-height:1.2;color:var(--ts-ink);
  }
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head a::before{
    content:"Tümünü Gör";font-size:11.5px;font-weight:800;
  }
  body[data-main-theme="tamsepet"] [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head a::after{
    content:"→";font-size:13px;margin-left:5px;
  }
  body[data-main-theme="tamsepet"] .ts-benefit{flex-basis:188px}
  body[data-main-theme="tamsepet"] .ts-benefit strong{font-size:12.5px}
  body[data-main-theme="tamsepet"] .ts-benefit small{font-size:10.5px}
}

@media(prefers-reduced-motion:reduce){
  body[data-main-theme="tamsepet"] .ts-prod-card,
  body[data-main-theme="tamsepet"] .portal-card,
  body[data-main-theme="tamsepet"] .item,
  body[data-main-theme="tamsepet"] .ts-prod-media>a img{transition:none!important}
}

/* ═══ Profesyonel ürün listeleme sistemi ══════════════════════════════════════════════
   Ana sayfa (.item/.ts-prod-card), katalog (.portal-card) ve ürün detayı (.rel-card)
   aynı görsel oran, tipografi, yükseklik ve aksiyon ritmini paylaşır. */
body[data-main-theme="tamsepet"]{
  --ts-product-gap:14px;
  --ts-product-radius:12px;
  --ts-product-border:#e6ebe7;
  --ts-product-shadow:0 1px 2px rgba(13,39,26,.035);
  --ts-product-shadow-hover:0 12px 30px rgba(13,39,26,.11);
}

body[data-main-theme="tamsepet"] :is(.item,.portal-card.pc-product-card,.ts-prod-card,.rel-card){
  position:relative;height:100%;min-width:0;overflow:hidden;border:1px solid var(--ts-product-border);
  border-radius:var(--ts-product-radius)!important;background:#fff;box-shadow:var(--ts-product-shadow);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body[data-main-theme="tamsepet"] :is(.item,.portal-card.pc-product-card,.ts-prod-card,.rel-card):hover{
  border-color:color-mix(in srgb,var(--primary) 26%,var(--ts-product-border));
  box-shadow:var(--ts-product-shadow-hover);transform:translateY(-3px);
}

/* Grid yoğunluğu ve eşit kart yüksekliği */
body[data-main-theme="tamsepet"] :is(.ct-grid,.catalog-track:not(.is-slider),.ts-products-grid,.rel-grid){
  gap:var(--ts-product-gap)!important;align-items:stretch!important;
}
body[data-main-theme="tamsepet"] .ct-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body[data-main-theme="tamsepet"] .ct-grid>div{display:flex;min-width:0}
body[data-main-theme="tamsepet"] .ct-grid>div>.item{width:100%}
body[data-main-theme="tamsepet"] .ts-products-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body[data-main-theme="tamsepet"] .rel-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}

/* Görsel alanı: bütün kartlarda aynı kare oran ve beyaz ürün stüdyosu */
body[data-main-theme="tamsepet"] .item .ph,
body[data-main-theme="tamsepet"] .portal-card.pc-product-card .pc-media,
body[data-main-theme="tamsepet"] .ts-prod-media,
body[data-main-theme="tamsepet"] .rel-img{
  width:100%;height:auto!important;aspect-ratio:1/1;background:#fff;overflow:hidden;border-radius:0;
  border-bottom:1px solid #f0f2f0;
}
body[data-main-theme="tamsepet"] .item .ph{padding:10px}
body[data-main-theme="tamsepet"] .item .ph img,
body[data-main-theme="tamsepet"] .ts-prod-media>a img,
body[data-main-theme="tamsepet"] .rel-img img{width:100%;height:100%!important;object-fit:contain;margin:0;padding:0}
body[data-main-theme="tamsepet"] .portal-card.pc-product-card .pc-media-slide{
  background-size:contain;background-origin:content-box;border:10px solid transparent;
}
body[data-main-theme="tamsepet"] :is(.item,.portal-card,.ts-prod-card,.rel-card):hover :is(.pw-product-img,.pc-media-slide,.ts-prod-media>a img,.rel-img img){transform:scale(1.025)}

/* Rozetler ürün fotoğrafını kapatmayacak kadar kompakt */
body[data-main-theme="tamsepet"] .item .ph-top-badges{top:8px!important;left:8px!important;gap:4px!important}
body[data-main-theme="tamsepet"] .item .ph-top-badges span,
body[data-main-theme="tamsepet"] .pc-badge,
body[data-main-theme="tamsepet"] .ts-prod-badge,
body[data-main-theme="tamsepet"] .ts-prod-badge-new{
  min-height:24px;padding:4px 7px!important;border-radius:6px!important;font-size:10px!important;
  line-height:1.1;box-shadow:none!important;text-transform:none;letter-spacing:0!important;
}
body[data-main-theme="tamsepet"] .pc-top-row{inset:8px 8px auto 8px}
body[data-main-theme="tamsepet"] .pc-photo-count{padding:4px 7px;border-radius:6px;font-size:10px;background:rgba(13,39,26,.66)}
body[data-main-theme="tamsepet"] .pc-photo-count-bottom{
  position:absolute;right:9px;bottom:9px;top:auto;left:auto;z-index:5;
  pointer-events:none;box-shadow:0 3px 10px rgba(13,39,26,.16);
}
body[data-main-theme="tamsepet"] .pc-media:has(.pc-price-bar)>.pc-photo-count-bottom,
body[data-main-theme="tamsepet"] .ph:has(.pc-price-bar)>.pc-photo-count-bottom{bottom:58px}
body[data-main-theme="tamsepet"] .pc-nav{width:34px;height:34px;border:1px solid var(--ts-product-border);box-shadow:0 4px 14px rgba(13,39,26,.12)}

/* İçerik hiyerarşisi */
body[data-main-theme="tamsepet"] .item .body,
body[data-main-theme="tamsepet"] .pc-body,
body[data-main-theme="tamsepet"] .ts-prod-body,
body[data-main-theme="tamsepet"] .rel-info{
  padding:11px 12px 12px;display:flex;flex-direction:column;flex:1;min-width:0;
}
body[data-main-theme="tamsepet"] .item .i-tag{display:none}
body[data-main-theme="tamsepet"] .product-card-brand,
body[data-main-theme="tamsepet"] .rel-cat{
  min-height:16px;margin:0 0 4px;color:#758078;font-size:10px;font-weight:750;line-height:1.25;
  letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body[data-main-theme="tamsepet"] .item .i-name,
body[data-main-theme="tamsepet"] .pc-name,
body[data-main-theme="tamsepet"] .ts-prod-body h3,
body[data-main-theme="tamsepet"] .rel-name{
  min-height:38px;margin:0 0 7px;color:#202521;font-size:13px;font-weight:650;line-height:1.43;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body[data-main-theme="tamsepet"] .pc-name a,
body[data-main-theme="tamsepet"] .item .i-name{color:#202521}
body[data-main-theme="tamsepet"] .pc-name a:hover,
body[data-main-theme="tamsepet"] .item .i-name:hover{color:var(--primary)}
body[data-main-theme="tamsepet"] .item .i-desc{display:none!important}
body[data-main-theme="tamsepet"] .ts-card-meta{min-height:22px;margin:0 0 5px;overflow:hidden;flex-wrap:nowrap}
body[data-main-theme="tamsepet"] .product-card-rating{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-main-theme="tamsepet"] .product-card-rating i{color:#e89a00}
body[data-main-theme="tamsepet"] .ts-chip{padding:3px 6px;font-size:9.5px;border-radius:4px}

/* Fiyat ve aksiyonlar her kartın alt çizgisinde */
body[data-main-theme="tamsepet"] :is(.item .body,.pc-body,.ts-prod-body,.rel-info) :is(.i-price,.pc-price-bar-body,.ts-prod-price,.rel-price){margin-top:auto}
body[data-main-theme="tamsepet"] :is(.item .i-price,.pc-price,.ts-prod-price strong,.rel-price){
  color:var(--primary);font-size:17px;font-weight:850;line-height:1.2;letter-spacing:-.025em;
}
body[data-main-theme="tamsepet"] :is(.pc-price-orig,.ts-prod-price del,.rel-price-orig){font-size:10.5px;color:#929a94;line-height:1.2}
body[data-main-theme="tamsepet"] .ts-price-off{font-size:9.5px;padding:2px 4px;border-radius:4px;background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);vertical-align:2px}
body[data-main-theme="tamsepet"] .commerce-card-actions{margin-top:8px!important;margin-bottom:0!important;gap:6px}
body[data-main-theme="tamsepet"] .commerce-card-actions.with-price{align-items:center}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only,
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-fav-btn{
  width:40px!important;height:40px!important;min-height:40px;border-radius:50%!important;
}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-fav-btn{background:#fff;border:1px solid var(--ts-product-border)}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only{border:1.5px solid var(--primary);background:var(--primary);color:#fff!important}
body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only:hover{background:color-mix(in srgb,var(--primary) 86%,#000)}
body[data-main-theme="tamsepet"] .pc-favorite-overlay,
body[data-main-theme="tamsepet"] .ts-card-favorite-overlay{top:8px;right:8px;bottom:auto}
body[data-main-theme="tamsepet"] .pc-favorite-overlay .ec-fav-btn,
body[data-main-theme="tamsepet"] .ts-card-favorite-overlay .ec-fav-btn{width:38px!important;height:38px!important;min-height:38px;border-radius:50%!important}

/* Hover detayı yalnız işaretçi cihazlarda; dokunmatikte fotoğraf temiz kalır */
@media(hover:none){
  body[data-main-theme="tamsepet"] .item .ph-overlay,
  body[data-main-theme="tamsepet"] .item .ph-btn{display:none!important}
}

@media(max-width:1199px) and (min-width:841px){
  body[data-main-theme="tamsepet"] .ct-grid,
  body[data-main-theme="tamsepet"] .ts-products-grid,
  body[data-main-theme="tamsepet"] .rel-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:840px) and (min-width:601px){
  body[data-main-theme="tamsepet"] .ct-grid,
  body[data-main-theme="tamsepet"] .ts-products-grid,
  body[data-main-theme="tamsepet"] .rel-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:600px){
  body[data-main-theme="tamsepet"]{--ts-product-gap:9px;--ts-product-radius:10px}
  body[data-main-theme="tamsepet"] :is(.ct-grid,.ts-products-grid,.rel-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-main-theme="tamsepet"] .item .ph{padding:6px}
  body[data-main-theme="tamsepet"] .portal-card.pc-product-card .pc-media-slide{border-width:6px}
  body[data-main-theme="tamsepet"] .item .body,
  body[data-main-theme="tamsepet"] .pc-body,
  body[data-main-theme="tamsepet"] .ts-prod-body,
  body[data-main-theme="tamsepet"] .rel-info{padding:9px 9px 10px}
  body[data-main-theme="tamsepet"] .product-card-brand,
  body[data-main-theme="tamsepet"] .rel-cat{font-size:9px;min-height:13px;margin-bottom:3px}
  body[data-main-theme="tamsepet"] .item .i-name,
  body[data-main-theme="tamsepet"] .pc-name,
  body[data-main-theme="tamsepet"] .ts-prod-body h3,
  body[data-main-theme="tamsepet"] .rel-name{font-size:11.5px;line-height:1.38;min-height:32px;margin-bottom:5px}
  body[data-main-theme="tamsepet"] .ts-card-meta{min-height:19px;margin-bottom:4px}
  body[data-main-theme="tamsepet"] .product-card-rating{font-size:9.5px}
  body[data-main-theme="tamsepet"] :is(.item .i-price,.pc-price,.ts-prod-price strong,.rel-price){font-size:14.5px}
  body[data-main-theme="tamsepet"] .commerce-card-actions .ec-add-btn.icon-only,
  body[data-main-theme="tamsepet"] .commerce-card-actions .ec-fav-btn{width:44px!important;height:44px!important;min-height:44px}
  body[data-main-theme="tamsepet"] .pc-favorite-overlay .ec-fav-btn,
  body[data-main-theme="tamsepet"] .ts-card-favorite-overlay .ec-fav-btn{width:36px!important;height:36px!important;min-height:36px}
  body[data-main-theme="tamsepet"] .item .ph-top-badges span,
  body[data-main-theme="tamsepet"] .pc-badge,
  body[data-main-theme="tamsepet"] .ts-prod-badge,
  body[data-main-theme="tamsepet"] .ts-prod-badge-new{min-height:21px;padding:3px 5px!important;font-size:8.5px!important}
  body[data-main-theme="tamsepet"] .pc-photo-count-bottom{right:7px;bottom:7px}
  body[data-main-theme="tamsepet"] .pc-media:has(.pc-price-bar)>.pc-photo-count-bottom,
  body[data-main-theme="tamsepet"] .ph:has(.pc-price-bar)>.pc-photo-count-bottom{bottom:54px}
}

/* Kategori vitrini diğer içerik kartlarından daha kompakt bir keşif şerididir. */
body[data-main-theme="tamsepet"] .ts-categories-section{padding-top:7px;padding-bottom:7px}
body[data-main-theme="tamsepet"] .ts-categories-section>[id^="ts-cats-"][id$="-wrap"]{
  padding-top:14px;padding-bottom:12px;
}
body[data-main-theme="tamsepet"] .ts-categories-section [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head{margin-bottom:12px}
body[data-main-theme="tamsepet"] .ts-categories-section [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-visual{
  width:74px!important;height:74px!important;margin-bottom:7px!important;
}
body[data-main-theme="tamsepet"] .ts-categories-section [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-card{
  min-height:0!important;height:auto!important;padding-top:0!important;padding-bottom:0!important;
}

/* Kart boyutu varyantları fiyat ve tipografi hiyerarşisini değiştirmesin. Özellikle
   Son Gezilenler (sm) ile Öne Çıkanlar (medium/large) aynı ürün standardını kullanır. */
body[data-main-theme="tamsepet"] .ts-prod-card,
body[data-main-theme="tamsepet"] .ts-prod-card.ts-size-sm,
body[data-main-theme="tamsepet"] .ts-prod-card.ts-size-lg{padding:0!important}
body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-body{
  padding:11px 12px 12px!important;
}
body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-body h3{
  min-height:38px!important;margin:0 0 7px!important;font-size:13px!important;font-weight:650!important;line-height:1.43!important;
}
body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-price strong{
  font-size:17px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:-.025em!important;color:var(--primary)!important;
}
body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-price del{
  font-size:10.5px!important;margin-left:5px!important;color:#929a94!important;
}
body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .body{padding:11px 12px 12px!important}
body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .i-name{
  min-height:38px!important;margin:0 0 7px!important;font-size:13px!important;font-weight:650!important;line-height:1.43!important;
}
body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .i-price{font-size:17px!important;font-weight:850!important}
@media(max-width:840px){
  body[data-main-theme="tamsepet"] .ts-categories-section{padding-top:5px;padding-bottom:5px}
  body[data-main-theme="tamsepet"] .ts-categories-section>[id^="ts-cats-"][id$="-wrap"]{padding-top:12px!important;padding-bottom:10px!important}
  body[data-main-theme="tamsepet"] .ts-categories-section [id^="ts-cats-"][id$="-wrap"]>.ts-sec-head{margin-bottom:10px}
  body[data-main-theme="tamsepet"] .ts-categories-section [id^="ts-cats-"][class*="ts-cat-style-"] .ts-cat-visual{
    width:64px!important;height:64px!important;flex-basis:64px;margin-bottom:6px!important;
  }
}
@media(max-width:600px){
  body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-body,
  body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .body{padding:9px 9px 10px!important}
  body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-body h3,
  body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .i-name{
    min-height:32px!important;margin-bottom:5px!important;font-size:11.5px!important;line-height:1.38!important;
  }
  body[data-main-theme="tamsepet"] :is(.ts-prod-card,.ts-prod-card.ts-size-sm,.ts-prod-card.ts-size-lg) .ts-prod-price strong,
  body[data-main-theme="tamsepet"] :is(.item.item-size-sm,.item.item-size-lg) .i-price{font-size:14.5px!important}
}

/* Mobil ortak kabuk kuralı kategori track'ine sonradan 16px padding ekliyordu.
   Kaynak sırasının sonunda kesin olarak sıfırla; banner ile aynı x=0 ekseni. */
@media(max-width:840px){
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar > .tamsepet-cat-bar-wrap{
    padding-left:0!important;padding-right:0!important;
  }
  body[data-main-theme="tamsepet"] .tamsepet-cat-bar-in{
    margin-left:0!important;margin-right:0!important;
  }
  /* Ürün listeleme gridleri mobilde bölüm kabuğunun 14/16px iç boşluğunu aşarak
     banner ve kategori menüsüyle aynı tam ekran eksenine oturur. Slider track'leri
     kendi transform/ölçüm sözleşmesini koruduğu için bu kurala dahil değildir. */
  body[data-main-theme="tamsepet"] :is(
    .ct-grid,
    .ts-products-grid,
    .rel-grid
  ){
    width:100vw;max-width:100vw;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    box-sizing:border-box;
  }
  /* Katalog gridini viewport (`100vw`) üzerinden merkezlemek mobil tarayıcıların
     scrollbar/safe-area hesabında birkaç piksel sağa taşıyabiliyordu. Kapsayıcının
     gerçek yatay padding'ini geri alarak iki kenarı da tam ekran eksenine oturt. */
  body[data-main-theme="tamsepet"] .items-grid-section{
    --ts-catalog-gutter:clamp(18px,3vw,44px);
    overflow-x:clip;
  }
  body[data-main-theme="tamsepet"] .items-grid-section .catalog-track:not(.is-slider){
    width:calc(100% + (2 * var(--ts-catalog-gutter)));
    max-width:none;
    margin-left:calc(-1 * var(--ts-catalog-gutter))!important;
    margin-right:calc(-1 * var(--ts-catalog-gutter))!important;
    box-sizing:border-box;
  }
}
@media(max-width:520px){
  body[data-main-theme="tamsepet"] .items-grid-section{--ts-catalog-gutter:16px}
}

/* Panelden 3–4 mobil sütun seçildiğinde kartın alt aksiyon satırı da kart genişliğiyle
   birlikte yoğunlaşır. 1–2 sütunda mevcut rahat dokunma boyutları aynen korunur. */
@media(max-width:600px){
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .catalog-track{
    --ts-compact-action-size:34px;
    --ts-compact-price-size:clamp(10.5px,3.15vw,12.5px);
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions{
    gap:3px;margin-top:5px!important;min-width:0;
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions.with-price .pc-inline-price{
    gap:1px;min-width:0;
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions.with-price .pc-inline-price .pc-price{
    font-size:var(--ts-compact-price-size);line-height:1.12;letter-spacing:-.035em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions.with-price .pc-inline-price .pc-price-orig{
    font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions .ec-add-btn.icon-only,
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions .ec-fav-btn{
    width:var(--ts-compact-action-size)!important;height:var(--ts-compact-action-size)!important;
    min-height:var(--ts-compact-action-size)!important;
  }
  body[data-main-theme="tamsepet"] .items-grid-section:is([data-mobile-columns="3"],[data-mobile-columns="4"]) .commerce-card-actions .ec-add-btn.icon-only .card-add-icon-custom{
    width:calc(100% - 8px);height:calc(100% - 8px);
  }
}
@media(max-width:600px){
  body[data-main-theme="tamsepet"] .items-grid-section[data-mobile-columns="4"] .catalog-track{
    --ts-compact-action-size:30px;
    --ts-compact-price-size:clamp(9px,2.7vw,11px);
  }
}

/* İndirimli ürün fiyatı normal marka rengiyle karışmasın: satış fiyatı kampanya
   kırmızısı, önceki fiyat ise nötr ve üzeri çizili. Mobil kompakt font ölçüsü
   yukarıdaki sütun kuralından miras alınır; burada yalnızca görsel durum değişir. */
body[data-main-theme="tamsepet"] :is(.pc-price-sale,.ts-price-disc){
  color:#dc3f2f!important;
}
body[data-main-theme="tamsepet"] .pc-price-orig{
  color:#8b938e!important;text-decoration:line-through;text-decoration-thickness:1px;
}
body[data-main-theme="tamsepet"] .pc-price-sale .ts-price-off{
  background:#fff0ec;color:#c93628;border:1px solid #f3c3b9;
}
/* Ana sayfa ürün keşfi */
.ts-home-discovery{padding:14px 0 10px;background:transparent}.ts-home-discovery-inner{display:grid;grid-template-columns:minmax(250px,325px) minmax(0,1fr);gap:12px;min-height:224px}.ts-home-discovery-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:linear-gradient(145deg,#152019,#0d1410);color:#fff}.ts-home-discovery-copy h1{margin:0 0 10px;font-size:clamp(22px,2.2vw,31px);line-height:1.12;letter-spacing:-.025em}.ts-home-discovery-copy p{max-width:270px;margin:0 0 20px;color:rgba(255,255,255,.68);font-size:14px;line-height:1.55}.ts-home-discovery-cta{min-height:46px;padding:0 20px;border:1px solid #55df76;border-radius:10px;background:#35b94f;color:#fff;font:inherit;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 8px 22px rgba(41,181,77,.24);transition:transform .16s,background .16s}.ts-home-discovery-cta:hover{background:#42c85d;transform:translateY(-1px)}.ts-home-discovery-products{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);gap:12px;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.ts-home-discovery-products::-webkit-scrollbar{display:none}.ts-home-discovery-product{position:relative;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#172019;cursor:pointer;scroll-snap-align:start}.ts-home-discovery-product img{display:block;width:100%;height:100%;min-height:224px;object-fit:cover;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.ts-home-discovery-product:hover img{transform:scale(1.035)}.ts-home-discovery-product:focus-visible,.ts-home-discovery-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}.ts-home-discovery-overlay{position:fixed;inset:0;z-index:100000;background:#020d08}.ts-home-discovery-overlay iframe{display:block;width:100%;height:100%;border:0;background:#020d08}
html.is-discovery-embed body> *:not(#detailLightbox){visibility:hidden!important}html.is-discovery-embed #detailLightbox{visibility:visible!important}
@media(max-width:700px){.ts-home-discovery{padding:6px 0;overflow:hidden}.ts-home-discovery-inner{position:relative;left:-16px;width:calc(100% + 16px);grid-template-columns:minmax(140px,40vw) minmax(0,1fr);gap:7px;min-height:164px;overflow:hidden;padding-right:0}.ts-home-discovery-copy{padding:13px 10px;border-radius:0 15px 15px 0}.ts-home-discovery-copy h1{margin-bottom:6px;font-size:17px}.ts-home-discovery-copy p{margin-bottom:9px;font-size:10.5px;line-height:1.38}.ts-home-discovery-cta{min-height:36px;padding:0 9px;font-size:10.5px}.ts-home-discovery-products{grid-auto-columns:112px;gap:7px;padding-right:14px}.ts-home-discovery-product{border-radius:14px}.ts-home-discovery-product img{min-height:164px}}
.ts-home-discovery{background:#07110b}
.ts-home-discovery-products-wrap{position:relative;min-width:0;overflow:hidden}.ts-home-discovery-products{height:100%}.ts-home-discovery-nav{position:absolute;z-index:3;top:50%;width:42px;height:42px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(3,13,8,.82);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.3);backdrop-filter:blur(9px);transition:background .16s,transform .16s}.ts-home-discovery-nav:hover{background:#35b94f;transform:translateY(-50%) scale(1.06)}.ts-home-discovery-nav:focus-visible{outline:3px solid #fff;outline-offset:2px}.ts-home-discovery-nav.is-prev{left:10px}.ts-home-discovery-nav.is-next{right:10px}@media(max-width:700px){.ts-home-discovery-nav{display:none}.ts-home-discovery-products-wrap{overflow:visible}}
