/* icon-set — Animated Icons (Lucide tabanlı, proje adı: icon-set) */
:root {
  --animated-lucide-primary: currentColor;
  --animated-lucide-secondary: currentColor;
}

  .al-delay-0 { --al-delay: 0ms; }
  .al-delay-1 { --al-delay: 80ms; }
  .al-delay-2 { --al-delay: 160ms; }
  .al-delay-3 { --al-delay: 240ms; }
  .al-delay-4 { --al-delay: 320ms; }
  .al-delay-5 { --al-delay: 400ms; }
  .al-delay-6 { --al-delay: 480ms; }
  .al-delay-7 { --al-delay: 560ms; }

  .al-primary { stroke: var(--animated-lucide-primary, var(--al-primary, currentColor)); }
  .al-secondary { stroke: var(--animated-lucide-secondary, var(--al-secondary, currentColor)); }

  .al-anim-fill {
    fill: currentColor;
    fill-opacity: 0;
    transition: fill-opacity 500ms ease var(--al-delay, 0ms);
  }
  .animated-lucide-icon:hover .al-anim-fill,
  .al-icon-wrapper:hover .al-anim-fill,
  .icon-set-wrapper:hover .al-anim-fill { fill-opacity: 0.18; }

  .al-anim-draw { }
  .animated-lucide-icon:hover .al-anim-draw,
  .al-icon-wrapper:hover .al-anim-draw,
  .icon-set-wrapper:hover .al-anim-draw { animation: al-draw-in 600ms ease var(--al-delay, 0ms) both; }
  @keyframes al-draw-in { 0% { stroke-dashoffset: var(--al-dash-len, 50); } 100% { stroke-dashoffset: 0; } }

  .al-anim-draw-line { }
  .animated-lucide-icon:hover .al-anim-draw-line,
  .al-icon-wrapper:hover .al-anim-draw-line,
  .icon-set-wrapper:hover .al-anim-draw-line { animation: al-draw-line 500ms ease var(--al-delay, 0ms) both; }
  @keyframes al-draw-line { 0% { stroke-dashoffset: var(--al-dash-len, 20); } 100% { stroke-dashoffset: 0; } }

  .al-anim-fade { }
  .animated-lucide-icon:hover .al-anim-fade,
  .al-icon-wrapper:hover .al-anim-fade,
  .icon-set-wrapper:hover .al-anim-fade { animation: al-fade-pop 500ms ease var(--al-delay, 0ms) both; }
  @keyframes al-fade-pop { 0% { opacity: 0.3; transform: scale(0.92); } 60% { opacity: 1; transform: scale(1.04); } 100% { opacity: 1; transform: scale(1); } }

  .al-anim-dot-appear { }
  .animated-lucide-icon:hover .al-anim-dot-appear,
  .al-icon-wrapper:hover .al-anim-dot-appear,
  .icon-set-wrapper:hover .al-anim-dot-appear { animation: al-dot-pop 500ms ease 200ms both; }
  @keyframes al-dot-pop { 0% { transform: scale(1); } 40% { transform: scale(0.3); } 70% { transform: scale(1.3); } 100% { transform: scale(1); } }

  .al-anim-bar { transform-origin: center bottom; }
  .animated-lucide-icon:hover .al-anim-bar,
  .al-icon-wrapper:hover .al-anim-bar,
  .icon-set-wrapper:hover .al-anim-bar { animation: al-bar-grow 600ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms) both; }
  @keyframes al-bar-grow { 0% { transform: scaleY(0.2); } 60% { transform: scaleY(1.08); } 100% { transform: scaleY(1); } }

  .al-anim-scale-pop { transform-origin: center; }
  .animated-lucide-icon:hover .al-anim-scale-pop,
  .al-icon-wrapper:hover .al-anim-scale-pop,
  .icon-set-wrapper:hover .al-anim-scale-pop { animation: al-scale-pop 500ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms) both; }
  @keyframes al-scale-pop { 0% { transform: scale(1); } 40% { transform: scale(1.15); } 100% { transform: scale(1); } }

  .al-anim-pulse-element { }
  .animated-lucide-icon:hover .al-anim-pulse-element,
  .al-icon-wrapper:hover .al-anim-pulse-element,
  .icon-set-wrapper:hover .al-anim-pulse-element { animation: al-pulse 0.7s ease-in-out; }
  @keyframes al-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

  .al-anim-gear { transform-origin: 12px 12px; transition: transform 700ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-gear,
  .al-icon-wrapper:hover .al-anim-gear,
  .icon-set-wrapper:hover .al-anim-gear { transform: rotate(var(--al-rotation, 90deg)); }

  .al-anim-nudge { transition: transform 500ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-nudge,
  .al-icon-wrapper:hover .al-anim-nudge,
  .icon-set-wrapper:hover .al-anim-nudge { transform: translate(var(--al-tx, 0px), var(--al-ty, 0px)); }

  .al-anim-bell-ring { transform-origin: 12px 3px; }
  .animated-lucide-icon:hover .al-anim-bell-ring,
  .al-icon-wrapper:hover .al-anim-bell-ring,
  .icon-set-wrapper:hover .al-anim-bell-ring { animation: al-bell-ring 0.7s ease; }
  @keyframes al-bell-ring { 0% { transform: rotate(0deg); } 12% { transform: rotate(14deg); } 24% { transform: rotate(-12deg); } 36% { transform: rotate(8deg); } 48% { transform: rotate(-5deg); } 60% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }

  .al-anim-heart-beat { transform-origin: 12px 13px; }
  .animated-lucide-icon:hover .al-anim-heart-beat,
  .al-icon-wrapper:hover .al-anim-heart-beat,
  .icon-set-wrapper:hover .al-anim-heart-beat { animation: al-heart-beat 0.8s ease; }
  @keyframes al-heart-beat { 0% { transform: scale(1); } 15% { transform: scale(1.2); } 30% { transform: scale(1); } 45% { transform: scale(1.15); } 60% { transform: scale(1); } }

  .al-anim-rocket-lift { transition: transform 500ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-rocket-lift,
  .al-icon-wrapper:hover .al-anim-rocket-lift,
  .icon-set-wrapper:hover .al-anim-rocket-lift { transform: translate(1px, -1.5px); }

  .al-anim-handle-lift { transition: transform 500ms ease var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-handle-lift,
  .al-icon-wrapper:hover .al-anim-handle-lift,
  .icon-set-wrapper:hover .al-anim-handle-lift { transform: translateY(-1.5px); }

  .al-anim-page-turn { transform-origin: left center; transition: transform 500ms ease var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-page-turn,
  .al-icon-wrapper:hover .al-anim-page-turn,
  .icon-set-wrapper:hover .al-anim-page-turn { transform: rotateY(-12deg); }

  .al-anim-menu-line { transform-origin: left center; transition: transform 400ms ease var(--al-delay, 0ms); }
  .animated-lucide-icon:hover .al-anim-menu-line,
  .al-icon-wrapper:hover .al-anim-menu-line,
  .icon-set-wrapper:hover .al-anim-menu-line { transform: scaleX(var(--al-scale-x, 0.7)); }

  .al-anim-mail-flap { transform-origin: center top; }
  .animated-lucide-icon:hover .al-anim-mail-flap,
  .al-icon-wrapper:hover .al-anim-mail-flap,
  .icon-set-wrapper:hover .al-anim-mail-flap { animation: al-mail-flap 700ms ease var(--al-delay, 0ms) both; }
  @keyframes al-mail-flap { 0% { transform: rotateX(0deg); } 40% { transform: rotateX(-30deg); } 70% { transform: rotateX(5deg); } 100% { transform: rotateX(0deg); } }

  .al-anim-shake { transform-origin: center; }
  .animated-lucide-icon:hover .al-anim-shake,
  .al-icon-wrapper:hover .al-anim-shake,
  .icon-set-wrapper:hover .al-anim-shake { animation: al-shake 600ms ease var(--al-delay, 0ms) both; }
  @keyframes al-shake { 0% { transform: translateX(0) rotate(0deg); } 15% { transform: translateX(-1.5px) rotate(-3deg); } 30% { transform: translateX(1.5px) rotate(3deg); } 45% { transform: translateX(-1px) rotate(-2deg); } 60% { transform: translateX(1px) rotate(2deg); } 75% { transform: translateX(-0.5px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }

  .al-anim-spin { transform-origin: 12px 12px; }
  .animated-lucide-icon:hover .al-anim-spin,
  .al-icon-wrapper:hover .al-anim-spin,
  .icon-set-wrapper:hover .al-anim-spin { animation: al-spin 700ms cubic-bezier(0.4, 0, 0.2, 1) var(--al-delay, 0ms) both; }
  @keyframes al-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

  .strip-btn:hover .al-anim-fill { fill-opacity: 0.18; }
  .strip-btn:hover .al-anim-draw { animation: al-draw-in 600ms ease var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-draw-line { animation: al-draw-line 500ms ease var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-fade { animation: al-fade-pop 500ms ease var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-dot-appear { animation: al-dot-pop 500ms ease 200ms both; }
  .strip-btn:hover .al-anim-bar { animation: al-bar-grow 600ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-scale-pop { animation: al-scale-pop 500ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-pulse-element { animation: al-pulse 0.7s ease-in-out; }
  .strip-btn:hover .al-anim-gear { transform: rotate(var(--al-rotation, 90deg)); }
  .strip-btn:hover .al-anim-nudge { transform: translate(var(--al-tx, 0px), var(--al-ty, 0px)); }
  .strip-btn:hover .al-anim-bell-ring { animation: al-bell-ring 0.7s ease; }
  .strip-btn:hover .al-anim-heart-beat { animation: al-heart-beat 0.8s ease; }
  .strip-btn:hover .al-anim-rocket-lift { transform: translate(1px, -1.5px); }
  .strip-btn:hover .al-anim-handle-lift { transform: translateY(-1.5px); }
  .strip-btn:hover .al-anim-page-turn { transform: rotateY(-12deg); }
  .strip-btn:hover .al-anim-menu-line { transform: scaleX(var(--al-scale-x, 0.7)); }
  .strip-btn:hover .al-anim-mail-flap { animation: al-mail-flap 700ms ease var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-shake { animation: al-shake 600ms ease var(--al-delay, 0ms) both; }
  .strip-btn:hover .al-anim-spin { animation: al-spin 700ms cubic-bezier(0.4, 0, 0.2, 1) var(--al-delay, 0ms) both; }

@media (prefers-reduced-motion: reduce) {
  .strip-btn:hover .al-anim-fill { fill-opacity: 0; }
  .strip-btn:hover .al-anim-draw,
  .strip-btn:hover .al-anim-draw-line,
  .strip-btn:hover .al-anim-fade,
  .strip-btn:hover .al-anim-dot-appear,
  .strip-btn:hover .al-anim-bar,
  .strip-btn:hover .al-anim-scale-pop,
  .strip-btn:hover .al-anim-pulse-element,
  .strip-btn:hover .al-anim-bell-ring,
  .strip-btn:hover .al-anim-heart-beat,
  .strip-btn:hover .al-anim-mail-flap,
  .strip-btn:hover .al-anim-shake,
  .strip-btn:hover .al-anim-spin { animation: none; }
  .strip-btn:hover .al-anim-gear,
  .strip-btn:hover .al-anim-nudge,
  .strip-btn:hover .al-anim-rocket-lift,
  .strip-btn:hover .al-anim-handle-lift,
  .strip-btn:hover .al-anim-page-turn,
  .strip-btn:hover .al-anim-menu-line { transform: none; }
}

/* Animasyon kapalı */
.icon-set-no-anim .al-anim-fill,
.icon-set-no-anim .al-anim-draw,
.icon-set-no-anim .al-anim-draw-line,
.icon-set-no-anim .al-anim-fade,
.icon-set-no-anim .al-anim-dot-appear,
.icon-set-no-anim .al-anim-bar,
.icon-set-no-anim .al-anim-scale-pop,
.icon-set-no-anim .al-anim-pulse-element,
.icon-set-no-anim .al-anim-gear,
.icon-set-no-anim .al-anim-nudge,
.icon-set-no-anim .al-anim-bell-ring,
.icon-set-no-anim .al-anim-heart-beat,
.icon-set-no-anim .al-anim-rocket-lift,
.icon-set-no-anim .al-anim-handle-lift,
.icon-set-no-anim .al-anim-page-turn,
.icon-set-no-anim .al-anim-menu-line,
.icon-set-no-anim .al-anim-mail-flap,
.icon-set-no-anim .al-anim-shake,
.icon-set-no-anim .al-anim-spin { animation: none !important; transition: none !important; }
.icon-set-no-anim:hover .al-anim-fill,
.strip-btn:hover .icon-set-no-anim .al-anim-fill { fill-opacity: 0 !important; }

/* ──────────────────────────────────────────────────────────────────────────
   Sidebar menü ikon rengi — idle/hover/aktif hepsinde --menu-icon-color.
   Per-item özelleştirme (--icon-primary, inline) bu standardı ezer.
   ────────────────────────────────────────────────────────────────────────── */
.site-sidebar nav .menu-icon .icon-light,
.sidebar-group nav .menu-icon .icon-light {
  --animated-lucide-primary: var(--icon-primary, currentColor);
  --animated-lucide-secondary: var(--icon-secondary, currentColor);
}
.site-sidebar nav .menu-icon .icon-dark,
.sidebar-group nav .menu-icon .icon-dark {
  --animated-lucide-primary: var(--icon-primary-dark, var(--icon-primary, currentColor));
  --animated-lucide-secondary: var(--icon-secondary-dark, var(--icon-secondary, currentColor));
}
.site-sidebar nav a.icon-set-wrapper .menu-icon > svg,
.sidebar-group nav a.icon-set-wrapper .menu-icon > svg {
  --animated-lucide-primary: var(--icon-primary, currentColor);
  --animated-lucide-secondary: var(--icon-secondary, currentColor);
}

/* Sidebar menü — standart fallback (currentColor = menü yazı rengi) */
.site-sidebar nav .icon-set-wrapper {
  --animated-lucide-primary: var(--icon-primary, var(--menu-icon-color, currentColor));
  --animated-lucide-secondary: var(--icon-secondary, var(--menu-icon-color, currentColor));
}

/* Koyu sidebar (Aurora): icon-dark göster, koyu tema renkleri uygulansın */
html[data-aurora-sidebar="dark"] .site-sidebar .menu-icon .icon-light { display: none !important; }
html[data-aurora-sidebar="dark"] .site-sidebar .menu-icon .icon-dark { display: block !important; }
