/* v6.7.0 — Performans-Lite + Balanced + Smooth modu
 * Düşük performanslı cihazlarda tarayıcıyı kilitleyen animasyonları kademeli olarak durdurur.
 *
 * Aktivasyon (admin > Performans > Akıcılık):
 *   - body[data-perf-mode="lite"]      → tüm sürekli animasyonları kapatır (en agresif)
 *   - body[data-perf-mode="balanced"]  → sadece sonsuz / arka plan animasyonlarını kapatır,
 *                                        hover/click feedback aynen kalır (önerilen)
 *   - body[data-perf-mode="full"]      → hiçbir kısıtlama yok
 *   - body[data-perf-mode="auto"]      → JS tespitine göre değişir (perf-monitor.js)
 *   - @media (prefers-reduced-motion: reduce) → OS-level
 *   - body[data-low-power="1"]         → JS Battery/Memory/SaveData ile düşük güç
 *   - body[data-fps-low="1"]           → JS FPS ölçümü 35'in altına düşerse
 */

/* ════════════════════════════════════════════════
 *  SMOOTH (HER ZAMAN AKTİF) — düşük maliyetli iyileştirmeler
 * ════════════════════════════════════════════════ */

/* Tab arka planda → tüm animasyonlar dur */
body.is-bg-tab *,
body.is-bg-tab *::before,
body.is-bg-tab *::after {
  animation-play-state: paused !important;
}

/* ════════════════════════════════════════════════
 *  REDUCED MOTION (OS-level)
 * ════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ════════════════════════════════════════════════
 *  BALANCED (orta seviye) — sadece sürekli animasyonları kapat
 *  Hover/click/focus geçişleri korunur → kullanıcı deneyimi bozulmaz
 * ════════════════════════════════════════════════ */

/* Sürekli infinite animasyonları durdur */
body[data-perf-mode="balanced"] [data-border-animation],
body[data-perf-mode="balanced"] .running-line,
body[data-perf-mode="balanced"] .border-pulse,
body[data-perf-mode="balanced"] .border-glow,
body[data-perf-mode="balanced"] .gradient-animate,
body[data-perf-mode="balanced"] .rotate-border,
body[data-perf-mode="balanced"] .topbar-marquee,
body[data-perf-mode="balanced"] .pagination .pg-btn.active,
body[data-perf-mode="balanced"] .sp-deco-dot,
body[data-perf-mode="balanced"] .sp-deco-line-v,
body[data-perf-mode="balanced"] .sp-deco-line-h,
body[data-perf-mode="balanced"] .sp-deco-ring,
body[data-perf-mode="balanced"] .sp-deco-circle,
body[data-perf-mode="balanced"] [class*="lottie-"]:not(lottie-player):not(dotlottie-player),
body[data-perf-mode="balanced"] #back-top,
body[data-perf-mode="balanced"] #back-top::before,
body[data-perf-mode="balanced"] #back-top i,
body[data-perf-mode="balanced"] [data-lottie-enabled="1"] [class*="fa-"] {
  animation: none !important;
}

/* Empty state float — yumuşat */
body[data-perf-mode="balanced"] .empty-state .icon {
  animation-duration: 6s !important;
}

/* Backdrop filter çok pahalı — yarıya indir */
body[data-perf-mode="balanced"] [data-glassmorph="1"] *,
body[data-perf-mode="balanced"] .modal-backdrop,
body[data-perf-mode="balanced"] .sp-modal-backdrop {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* Custom cursor balanced'da kapalı (mouse move handler ağır) */
body[data-perf-mode="balanced"] [data-custom-cursor]:not([data-custom-cursor="none"]) {
  cursor: auto !important;
}
body[data-perf-mode="balanced"] .custom-cursor-dot,
body[data-perf-mode="balanced"] .custom-cursor-ring,
body[data-perf-mode="balanced"] #sp-custom-cursor {
  display: none !important;
}

/* Hero parallax balanced'da kapalı */
body[data-perf-mode="balanced"] [data-hero-parallax="1"] * {
  transform: none !important;
}

/* ════════════════════════════════════════════════
 *  LITE (en agresif) + LOW-POWER + FPS-LOW
 *  Tüm animasyonlar 0.001s'e düşer, sadece UI feedback'i için
 *  buton/input için kısa transition korunur
 * ════════════════════════════════════════════════ */
body[data-perf-mode="lite"] *,
body[data-perf-mode="lite"] *::before,
body[data-perf-mode="lite"] *::after,
body[data-low-power="1"] *,
body[data-low-power="1"] *::before,
body[data-low-power="1"] *::after,
body[data-fps-low="1"] *,
body[data-fps-low="1"] *::before,
body[data-fps-low="1"] *::after {
  animation-iteration-count: 1 !important;
  animation-duration: 0.001s !important;
  transition-duration: 0.001s !important;
}

/* Yine de izin verilen geçişler (UI affordance için) */
body[data-perf-mode="lite"] button,
body[data-perf-mode="lite"] a,
body[data-perf-mode="lite"] input,
body[data-perf-mode="lite"] textarea,
body[data-perf-mode="lite"] select,
body[data-low-power="1"] button,
body[data-low-power="1"] a,
body[data-low-power="1"] input,
body[data-low-power="1"] textarea,
body[data-low-power="1"] select,
body[data-fps-low="1"] button,
body[data-fps-low="1"] a,
body[data-fps-low="1"] input,
body[data-fps-low="1"] textarea,
body[data-fps-low="1"] select {
  transition: background-color 0.15s, color 0.15s, border-color 0.15s !important;
}

/* Sürekli dönen border animasyonu (çok pahalı) */
body[data-perf-mode="lite"] [data-border-animation],
body[data-low-power="1"] [data-border-animation],
body[data-fps-low="1"] [data-border-animation] {
  --border-animation: none !important;
}
body[data-perf-mode="lite"] .running-line,
body[data-perf-mode="lite"] .border-pulse,
body[data-perf-mode="lite"] .border-glow,
body[data-perf-mode="lite"] .gradient-animate,
body[data-perf-mode="lite"] .rotate-border,
body[data-perf-mode="lite"] .topbar-marquee,
body[data-perf-mode="lite"] .pagination .pg-btn.active,
body[data-low-power="1"] .running-line,
body[data-low-power="1"] .border-pulse,
body[data-low-power="1"] .border-glow,
body[data-low-power="1"] .gradient-animate,
body[data-low-power="1"] .rotate-border,
body[data-low-power="1"] .topbar-marquee,
body[data-low-power="1"] .pagination .pg-btn.active,
body[data-fps-low="1"] .running-line,
body[data-fps-low="1"] .border-pulse,
body[data-fps-low="1"] .border-glow,
body[data-fps-low="1"] .gradient-animate,
body[data-fps-low="1"] .rotate-border,
body[data-fps-low="1"] .topbar-marquee,
body[data-fps-low="1"] .pagination .pg-btn.active {
  animation: none !important;
  background-image: none !important;
}

/* Lottie animasyonları durdur (player + CSS-tabanlı) */
body[data-perf-mode="lite"] lottie-player,
body[data-perf-mode="lite"] dotlottie-player,
body[data-low-power="1"] lottie-player,
body[data-low-power="1"] dotlottie-player,
body[data-fps-low="1"] lottie-player,
body[data-fps-low="1"] dotlottie-player {
  display: none !important;
}
body[data-perf-mode="lite"] [class*="lottie-"]:not(lottie-player):not(dotlottie-player),
body[data-low-power="1"] [class*="lottie-"]:not(lottie-player):not(dotlottie-player),
body[data-fps-low="1"] [class*="lottie-"]:not(lottie-player):not(dotlottie-player),
body[data-perf-mode="lite"] [data-lottie-enabled="1"] #hdr [class*="fa-"],
body[data-low-power="1"] [data-lottie-enabled="1"] #hdr [class*="fa-"],
body[data-fps-low="1"] [data-lottie-enabled="1"] #hdr [class*="fa-"] {
  animation: none !important;
}

/* Arka plan dekorasyonları (pahalı sürekli animasyon — sayfa boyunca fixed) */
body[data-perf-mode="lite"] .sp-site-deco,
body[data-low-power="1"] .sp-site-deco,
body[data-fps-low="1"] .sp-site-deco {
  display: none !important;
}
body[data-perf-mode="balanced"] .sp-site-deco {
  opacity: .3 !important;
}

/* "Geri yukarı" butonunun sürekli pulsasyonu */
body[data-perf-mode="lite"] #back-top,
body[data-perf-mode="lite"] #back-top::before,
body[data-perf-mode="lite"] #back-top i,
body[data-low-power="1"] #back-top,
body[data-low-power="1"] #back-top::before,
body[data-low-power="1"] #back-top i,
body[data-fps-low="1"] #back-top,
body[data-fps-low="1"] #back-top::before,
body[data-fps-low="1"] #back-top i {
  animation: none !important;
}

/* Empty state icon float */
body[data-perf-mode="lite"] .empty-state .icon,
body[data-low-power="1"] .empty-state .icon,
body[data-fps-low="1"] .empty-state .icon {
  animation: none !important;
}

/* Hover zoom + kart eleve efektleri */
body[data-perf-mode="lite"] [data-img-hover-zoom="1"] img,
body[data-low-power="1"] [data-img-hover-zoom="1"] img,
body[data-fps-low="1"] [data-img-hover-zoom="1"] img {
  transform: none !important;
}
body[data-perf-mode="lite"] .card:hover,
body[data-perf-mode="lite"] .listing-card:hover,
body[data-low-power="1"] .card:hover,
body[data-low-power="1"] .listing-card:hover,
body[data-fps-low="1"] .card:hover,
body[data-fps-low="1"] .listing-card:hover {
  transform: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}

/* Glassmorph (backdrop-filter çok pahalı) */
body[data-perf-mode="lite"] [data-glassmorph="1"] *,
body[data-low-power="1"] [data-glassmorph="1"] *,
body[data-fps-low="1"] [data-glassmorph="1"] *,
body[data-perf-mode="lite"] .modal-backdrop,
body[data-perf-mode="lite"] .sp-modal-backdrop,
body[data-low-power="1"] .modal-backdrop,
body[data-low-power="1"] .sp-modal-backdrop,
body[data-fps-low="1"] .modal-backdrop,
body[data-fps-low="1"] .sp-modal-backdrop {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Parallax + büyük gradient'lar */
body[data-perf-mode="lite"] [data-hero-parallax="1"] *,
body[data-low-power="1"] [data-hero-parallax="1"] *,
body[data-fps-low="1"] [data-hero-parallax="1"] * {
  transform: none !important;
}

/* Custom cursor */
body[data-perf-mode="lite"] [data-custom-cursor]:not([data-custom-cursor="none"]),
body[data-low-power="1"] [data-custom-cursor]:not([data-custom-cursor="none"]),
body[data-fps-low="1"] [data-custom-cursor]:not([data-custom-cursor="none"]) {
  cursor: auto !important;
}
body[data-perf-mode="lite"] .custom-cursor-dot,
body[data-perf-mode="lite"] .custom-cursor-ring,
body[data-perf-mode="lite"] #sp-custom-cursor,
body[data-low-power="1"] .custom-cursor-dot,
body[data-low-power="1"] .custom-cursor-ring,
body[data-low-power="1"] #sp-custom-cursor,
body[data-fps-low="1"] .custom-cursor-dot,
body[data-fps-low="1"] .custom-cursor-ring,
body[data-fps-low="1"] #sp-custom-cursor {
  display: none !important;
}

/* Smooth scroll devre dışı */
body[data-perf-mode="lite"],
body[data-low-power="1"],
body[data-fps-low="1"] {
  scroll-behavior: auto !important;
}

/* Filter / blur efektleri ağır — kapat */
body[data-perf-mode="lite"] [style*="filter:blur"],
body[data-perf-mode="lite"] [style*="filter: blur"],
body[data-low-power="1"] [style*="filter:blur"],
body[data-low-power="1"] [style*="filter: blur"],
body[data-fps-low="1"] [style*="filter:blur"],
body[data-fps-low="1"] [style*="filter: blur"] {
  filter: none !important;
}

/* WebGL slider iptal — Three.js çok pahalı */
body[data-perf-mode="lite"] #webgl-stage canvas,
body[data-low-power="1"] #webgl-stage canvas,
body[data-fps-low="1"] #webgl-stage canvas {
  display: none !important;
}
body[data-perf-mode="lite"] #slider-ph,
body[data-low-power="1"] #slider-ph,
body[data-fps-low="1"] #slider-ph {
  opacity: 1 !important;
}

/* Tab arka planda → polling-dependent UI'ler için yardımcı sınıf */
body.is-bg-tab .conv-typing-dots,
body.is-bg-tab .cw-msg-pending .cw-bbl::after {
  animation: none !important;
}

/* ════════════════════════════════════════════════
 *  KULLANICI TERCİHİ — admin'den granular kapatma
 *  data-anim-deco="0", data-anim-icon="0", data-anim-gradient="0",
 *  data-anim-border="0", data-anim-marquee="0", data-anim-bg-tab-pause="1"
 * ════════════════════════════════════════════════ */
body[data-anim-deco="0"] .sp-site-deco { display: none !important; }
body[data-anim-icon="0"] [class*="lottie-"]:not(lottie-player):not(dotlottie-player),
body[data-anim-icon="0"] [data-lottie-enabled="1"] #hdr [class*="fa-"] { animation: none !important; }
body[data-anim-gradient="0"] .gradient-animate { animation: none !important; background-size: 100% 100% !important; }
body[data-anim-border="0"] .running-line,
body[data-anim-border="0"] .border-pulse,
body[data-anim-border="0"] .border-glow,
body[data-anim-border="0"] .rotate-border,
body[data-anim-border="0"] [data-border-animation] { animation: none !important; }
body[data-anim-border="0"] [data-border-animation] { --border-animation: none !important; }
body[data-anim-marquee="0"] .topbar-marquee { animation: none !important; }
body[data-anim-back-top="0"] #back-top,
body[data-anim-back-top="0"] #back-top::before,
body[data-anim-back-top="0"] #back-top i { animation: none !important; }

/* ════════════════════════════════════════════════
 *  v9.12: ANA SAYFA PERFORMANS PATCHES
 *  Çoğu cihazda kasma yapan ağır görsel efektleri default kapat (balanced + lite + auto)
 * ════════════════════════════════════════════════ */

/* 1) Slider partikül efektleri (snow, sparkles, fireflies, bubbles, stars)
      → 30 adet sürekli animation:infinite element kasıyor.
      balanced+lite+auto'da tamamen gizle (sadece full modunda görünür) */
body:not([data-perf-mode="full"]) .slider-particles-layer{display:none!important}

/* 2) Hero/banner blob/dot/ring/circle dekoratif animasyonlar — sürekli rotasyon CPU yer
      balanced'da yavaşlat, lite'ta tamamen kapat */
body[data-perf-mode="balanced"] .sp-deco-blob,
body[data-perf-mode="balanced"] .sp-ad-blob,
body[data-perf-mode="balanced"] [class*="-blob"]{animation-duration:30s!important}
body[data-perf-mode="lite"] .sp-deco-blob,
body[data-perf-mode="lite"] .sp-ad-blob,
body[data-perf-mode="lite"] [class*="-blob"],
body[data-perf-mode="lite"] [class*="-orb"]{display:none!important}

/* 3) Pahalı backdrop-filter (cam efektleri) — composite layer thrashing yapar
      balanced'da blur miktarını ciddi azalt, lite'ta tamamen kapat */
body[data-perf-mode="balanced"] [style*="backdrop-filter"]:not(.modal-backdrop):not(.sp-modal-backdrop){
  backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;
}
body[data-perf-mode="lite"] [style*="backdrop-filter"]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* 4) Filter:blur sahne arkası katmanları (slider, hero-banner) çok pahalı */
body[data-perf-mode="balanced"] [style*="filter:blur"],
body[data-perf-mode="balanced"] [style*="filter: blur"]{filter:none!important}
body[data-perf-mode="lite"] [style*="filter:blur"],
body[data-perf-mode="lite"] [style*="filter: blur"]{filter:none!important}

/* 5) Ana sayfa modüllerine CSS containment — tarayıcı her modülü ayrı render eder,
      bir modül scroll'da değişmiyorsa tekrar paint etmez */
.home-section,
.home-module,
.sp-hero-banner,
.sp-promo-cards,
.listing-grid,
.cat-grid,
.sp-vit-section,
.sp-stats-section{
  contain:layout style paint;
  content-visibility:auto;
  contain-intrinsic-size:auto 600px;
}

/* 6) Görsel rendering — özellikle scroll sırasında daha hızlı paint */
.listing-card img,
.cat-card img,
.sp-hb-box,
.sl-bg-img{
  image-rendering:auto;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}

/* 7) Hover efektleri — perf modlarında transform yerine sadece opacity (compositor only) */
body[data-perf-mode="balanced"] .listing-card:hover,
body[data-perf-mode="balanced"] .cat-card:hover{transform:none!important}
body[data-perf-mode="lite"] .listing-card:hover,
body[data-perf-mode="lite"] .cat-card:hover{transform:none!important;box-shadow:none!important}

/* 8) Live-pill ve dynamic indicator animasyonları — balanced'da statik */
body[data-perf-mode="balanced"] .live-pill::before,
body[data-perf-mode="balanced"] .sp-live-dot,
body[data-perf-mode="balanced"] [class*="-pulse"]::before{animation:none!important}
body[data-perf-mode="lite"] .live-pill::before,
body[data-perf-mode="lite"] .sp-live-dot{display:none!important}

/* 9) Slider auto-play CSS animasyonları durdur (balanced+lite) — JS timer'ı admin'den kapatılabilir */
body[data-perf-mode="lite"] .slider-wrap[data-autoplay] .slide{animation-play-state:paused!important}

/* 10) Açık olmayan içerik için content-visibility — viewport dışındaki sectioner render edilmez */
@supports(content-visibility:auto){
  .sp-hero-banner ~ section,
  .sp-hero-banner ~ div[class*="section"]{content-visibility:auto;contain-intrinsic-size:1px 800px}
}

/* 11) CHAT WIDGET fixed positioned + back-to-top + bg-shield = 3 fixed layer.
       Her birine contain ile izole et — birinin değişmesi diğerini repaint ettirmesin */
.cw-launcher,#cw-launcher,#chat-widget,#back-top,.ft-bg-shield{contain:strict}

/* 14) v9.12: Sticky header'lar scroll'da kasma yapar — promote layer + isolation */
.hdr-main, .mobile-header-bar, .hdr6-main, .hdr6-topbar, .hdr-topbar, [class*="header"][style*="sticky"]{
  isolation:isolate;
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
}

/* 15) Scroll sırasında ağır resim filter/transform işlemleri durdursun */
@media (prefers-reduced-motion: no-preference){
  body[data-perf-mode="balanced"] *{scroll-behavior:auto!important}
}

/* 12) Body üzerinde aşırı data-attribute selector'larından kaynaklanan re-style hesaplama —
       bunları override ederek "perf-mode" attribute'ı baz alındığında diğerleri tetiklenmesin */
body[data-perf-mode="balanced"][data-icon-anim="true"] [class*="fa-"]{animation:none!important}
body[data-perf-mode="lite"] [data-border-animation]{--border-animation:none!important}

/* 13) v9.12: hover-elev (kart yükselmesi) — composite layer'a aktarılır ama her hover yeni layer.
        balanced'da basitleştir */
body[data-perf-mode="balanced"][data-hover-elev="1"] .listing-card,
body[data-perf-mode="balanced"][data-hover-elev="1"] .blog-card,
body[data-perf-mode="balanced"][data-hover-elev="1"] .cat-card{transition:box-shadow .15s ease!important}
body[data-perf-mode="balanced"][data-hover-elev="1"] .listing-card:hover,
body[data-perf-mode="balanced"][data-hover-elev="1"] .blog-card:hover,
body[data-perf-mode="balanced"][data-hover-elev="1"] .cat-card:hover{transform:none!important;box-shadow:0 4px 12px rgba(0,0,0,.08)!important}
