/* ==========================================================================
   animations.css — حركات هادئة تعتمد على Intersection Observer
   ========================================================================== */

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(.2,.7,.2,1), transform 0.8s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].in-view { opacity: 1; transform: translateY(0); }

[data-reveal="scale"] { transform: scale(0.94) translateY(0); }
[data-reveal="scale"].in-view { transform: scale(1); }

[data-reveal-group] > * { transition-delay: calc(var(--i, 0) * 90ms); }

.fade-up { animation: fadeUp 0.9s ease forwards; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

/* تلاشي دخول عام لعناصر تظهر بعد الـ Intro */
.page-ready .hero-kicker { animation: fadeUp 0.8s ease 0.15s both; }
.page-ready .hero h1 { animation: fadeUp 0.9s ease 0.3s both; }
.page-ready .hero p.lead { animation: fadeUp 0.9s ease 0.45s both; }
.page-ready .hero-actions { animation: fadeUp 0.9s ease 0.6s both; }

/* Loading skeleton (لحالة تحميل المنيو) */
.skeleton {
  background: linear-gradient(90deg, rgba(0,0,0,0.06) 25%, rgba(0,0,0,0.1) 37%, rgba(0,0,0,0.06) 63%);
  background-size: 400% 100%;
  animation: skeletonShine 1.6s ease infinite;
  border-radius: var(--radius-md);
}
@keyframes skeletonShine { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* Menu items entrance عند الفلترة */
.menu-item-enter { animation: itemPop 0.45s cubic-bezier(.2,.8,.2,1) both; }
@keyframes itemPop { from { opacity: 0; transform: translateY(14px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Empty state icon */
.empty-state i { animation: floatSlow 3s ease-in-out infinite; }
@keyframes floatSlow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
