/* SmartStok — Birleştirilmiş UI İkon Düzeltmeleri (v2025-09-14)
   Amaç: Farklı sayfalardaki (sayfalama, tablolar, butonlar) tutarsız ve aşırı büyük SVG ikon sorunlarını tek dosyada çözmek.
   Yaklaşım: Esneklik için 'em' birimi kullanılır ve sorunlu ikonlar için özel hedefleme yapılır.
*/

:root {
  --icon-size: 1em;
  --icon-vertical-align: -0.125em;
}

/* 1) Genel Kural: Boyutları belirtilmemiş ve özel olmayan tüm SVG'ler için bir varsayılan boyut ata. */
/* Not: Barkod, logo, harita gibi özel SVG'ler bu kuraldan etkilenmez. */
svg:not([width]):not([height]):not(.barcode):not(.smartstok-logo):not(.chart-svg):not(.warehouse-map) {
  width: var(--icon-size);
  height: var(--icon-size);
}

/* 2) Yaygın Kullanım Alanları: Sayfalama, butonlar, tablolar vb. içindeki ikonları normalleştir. */
.pagination svg,
.page-link svg,
.dataTables_paginate svg,
.btn svg,
button svg,
a.btn svg,
.table svg,
.dropdown-item svg,
.breadcrumb svg,
.alert svg,
.badge svg,
small svg {
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
  min-width: var(--icon-size) !important;
  max-width: var(--icon-size) !important;
  min-height: var(--icon-size) !important;
  max-height: var(--icon-size) !important;
  vertical-align: var(--icon-vertical-align);
}

/* 3) Spesifik İkon Kütüphaneleri için Hedefleme (Heroicons, Lucide vb.) */
/* viewBox ile hedefleme */
svg[viewBox="0 0 20 20"],
svg[viewBox="0 0 24 24"] {
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
}

/* Sayfalama okları gibi sorunlu chevron ikonlarını path verisiyle hedefleme */
svg:has(> path[d^="M5.293 7.293"], > path[d^="M12.707 5.293"]) {
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
}

/* 4) İkon Kalitesini Artıran Ek Kurallar */
/* Stroke (çizgi) kalınlığının ikon boyutu değiştiğinde bozulmasını engelle */
svg path, svg line, svg polyline, svg circle, svg rect {
  vector-effect: non-scaling-stroke;
}

/* Flexbox içinde ikonların ezilip-büzülmesini engelle */
svg {
  flex-shrink: 0;
}