/* ============================================================
   XTheme v2 — motion.css : kaydırınca beliren öğeler (scroll reveal)
   İşaretleme: data-reveal            -> yavaşça belirir (yumuşak yukarı kayma + opaklık)
               data-reveal="slow"     -> daha yavaş (VM kutuları)
               data-reveal-group      -> çocukları sırayla (stagger) belirir
   Hover'da yer değiştirme YOK; yalnızca belirme animasyonu vardır.
   js/foundation.js IntersectionObserver ile .is-revealed ekler.
   ============================================================ */
[data-reveal], [data-reveal-group] > * {
    opacity: 0; transform: translateY(28px);
    transition: opacity var(--reveal-dur) cubic-bezier(.2, .6, .2, 1), transform var(--reveal-dur) cubic-bezier(.2, .6, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}
[data-reveal="slow"], [data-reveal-group="slow"] > * {
    transform: translateY(44px);
    transition-duration: var(--reveal-dur-slow);
}
[data-reveal="left"] { transform: translateX(-36px); }
[data-reveal="right"] { transform: translateX(36px); }
.is-revealed, [data-reveal-group].is-revealed > * { opacity: 1 !important; transform: none !important; }

/* JS yoksa ya da hareket azaltıldıysa içerik her zaman görünür */
@media (scripting: none) {
    [data-reveal], [data-reveal-group] > * { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    [data-reveal], [data-reveal-group] > * { opacity: 1; transform: none; transition: none; }
    html { scroll-behavior: auto; }
}

/* Lazy yüklenen öğeler: sayfa sonuna yaklaşınca gelen satır/kartlar yavaşça belirir (js/foundation.js .is-new ekler) */
.is-new { animation: xt-rise .7s cubic-bezier(.2, .6, .2, 1) both; animation-delay: var(--reveal-delay, 0ms); }
@keyframes xt-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .is-new { animation: none; } }
