/* ==========================================================================
   SANATEKIBI — Hareket sistemi
   Kural: yalnizca transform ve opacity anime edilir; sonsuz dikkat-cekici
   animasyon kullanilmaz; prefers-reduced-motion accessibility.css'te
   merkezi olarak her seyi durdurur.
   ========================================================================== */

/* --- Keyframe'ler --- */
@keyframes sanatekibi-spin { to { transform: rotate(360deg); } }
@keyframes sanatekibi-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
@keyframes sanatekibi-reveal-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sanatekibi-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
@keyframes sanatekibi-blob {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(6%, -4%) scale(1.08); }
  66%  { transform: translate(-5%, 5%) scale(0.96); }
  100% { transform: translate(0, 0) scale(1); }
}

/* --- Bolum/oge girisi (reveal) ---
   JS varsa ogeler once gizlenir, gorunume girince acilir.
   JS yoksa .js-motion sinifi eklenmez ve ogeler direkt gorunur kalir. */
.js-motion [data-reveal] {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--motion-slow) var(--ease-out),
              transform var(--motion-slow) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}
.js-motion [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* --- Ikonlu baglantida ok kaymasi --- */
.link-arrow i, .section-head a i, .home-section-heading a i {
  transition: transform var(--motion-fast) var(--ease-out);
}
.link-arrow:hover i, .section-head a:hover i, .home-section-heading a:hover i {
  transform: translateX(3px);
}

/* --- Okunmamis bildirim zili: sayfa acilisinda tek sefer nabiz --- */
.nav-bell.has-unread .nav-bell-badge {
  animation: sanatekibi-pulse 0.7s var(--ease-out) 2;
}
