/* =====================================================================
   DATASSL — Premium Polish Layer (premium-polish.css)
   En son yüklenir. Additive & layout-safe: mevcut markup'ı bozmaz,
   yalnızca algılanan kaliteyi yükseltir (tipografi, derinlik, odak
   halkaları, mikro-etkileşimler, scrollbar, seçim). Public + panel +
   admin + auth yüzeylerinin tümünde çalışacak şekilde nötr seçiciler.
   ===================================================================== */

:root {
  --pp-accent: #6366f1;
  --pp-accent-strong: #4f46e5;
  --pp-ring: rgba(99, 102, 241, 0.35);
  --pp-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --pp-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.05);
  --pp-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
  --pp-shadow-lg: 0 18px 40px rgba(15, 23, 42, 0.12), 0 6px 14px rgba(15, 23, 42, 0.06);
}

/* ---- 1) Temel render kalitesi: yazıları netleştir ---- */
:where(html) {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

/* ---- 2) Başlık tipografisi: hafif sıkı tracking (premium his) ---- */
:where(h1, h2, h3, .h1, .h2, .h3, .hero-title, .section-title, .step-title, .page-title) {
  letter-spacing: -0.018em;
}
:where(h1, .h1, .hero-title) { letter-spacing: -0.028em; }

/* ---- 3) Odak halkaları: tutarlı & erişilebilir (klavye) ---- */
:where(a, button, input, select, textarea, [role="button"], .btn, .btn-p, [tabindex]):focus-visible {
  outline: 2px solid var(--pp-accent);
  outline-offset: 2px;
  border-radius: 8px;
}
/* Fare tıklamasında istenmeyen outline'ı gizle (focus-visible zaten yönetir) */
:where(button, .btn, .btn-p, a):focus:not(:focus-visible) { outline: none; }

/* ---- 4) Form alanları: yumuşak geçiş + zarif odak ---- */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
       select, textarea, .form-control) {
  transition: border-color 0.18s var(--pp-ease), box-shadow 0.18s var(--pp-ease), background-color 0.18s var(--pp-ease);
}
:where(input:not([type="checkbox"]):not([type="radio"]),
       select, textarea, .form-control):focus {
  box-shadow: 0 0 0 4px var(--pp-ring);
}

/* ---- 5) Butonlar: yumuşak geçiş + hafif hover kalkışı + basış ---- */
:where(.btn, .btn-p, button.btn, .nx-btn, .pdx-btn, .hero-btn, .cta-btn, a.button, .btn-primary) {
  transition: transform 0.15s var(--pp-ease), box-shadow 0.18s var(--pp-ease), background-color 0.18s var(--pp-ease), filter 0.18s var(--pp-ease);
  will-change: transform;
}
:where(.btn, .btn-p, .nx-btn, .pdx-btn, .hero-btn, .cta-btn, .btn-primary):hover {
  transform: translateY(-1px);
}
:where(.btn, .btn-p, .nx-btn, .pdx-btn, .hero-btn, .cta-btn, .btn-primary):active {
  transform: translateY(0);
}

/* ---- 6) Kartlar: geçiş + zarif hover derinliği (yalnızca ortak kart sınıfları) ---- */
:where(.card, .modern-card, .stat-card, .p-card, .modern-stat-card) {
  transition: transform 0.2s var(--pp-ease), box-shadow 0.2s var(--pp-ease);
}
:where(.card, .modern-card, .p-card):hover {
  box-shadow: var(--pp-shadow-lg);
}

/* ---- 7) Tablolar: satır hover & başlık inceliği (ortak tablo desenleri) ---- */
:where(.table, table.table) :where(tbody tr) {
  transition: background-color 0.15s var(--pp-ease);
}
:where(.table, table.table) :where(tbody tr:hover) {
  background-color: rgba(99, 102, 241, 0.04);
}

/* ---- 8) Bağlantılar: yumuşak renk geçişi ---- */
:where(a):not(.btn):not(.btn-p):not(.nx-btn) {
  transition: color 0.15s var(--pp-ease), opacity 0.15s var(--pp-ease);
}

/* ---- 9) Seçim rengi (marka tonlu) ---- */
::selection { background: rgba(99, 102, 241, 0.22); color: inherit; }

/* ---- 10) İnce, modern scrollbar ---- */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.45) transparent;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, 0.4);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover { background: rgba(100, 116, 139, 0.65); background-clip: content-box; }

/* ---- 11) Görseller: yumuşak köşe kırpma taşmasını engelle (safe) ---- */
:where(img) { image-rendering: -webkit-optimize-contrast; }

/* ---- 12) Hareket azaltma tercihi: tüm animasyon/geçişleri kıs ---- */
@media (prefers-reduced-motion: reduce) {
  :where(.btn, .btn-p, .nx-btn, .pdx-btn, .hero-btn, .cta-btn, .btn-primary,
         .card, .modern-card, .p-card, input, select, textarea, .form-control, a) {
    transition: none !important;
  }
  :where(.btn, .btn-p, .nx-btn, .pdx-btn, .hero-btn, .cta-btn, .btn-primary):hover {
    transform: none;
  }
}
