
 
/* دخول متدرّج للأعمدة */
.header-anim .grid > * {
  opacity: 0;
  animation: rise .6s ease-out both;
  will-change: transform, opacity;
}
.header-anim .grid > *:nth-child(1) { animation-delay: .05s; }
.header-anim .grid > *:nth-child(2) { animation-delay: .15s; }
.header-anim .grid > *:nth-child(3) { animation-delay: .25s; }

@keyframes rise {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)   scale(1);   }
}

/* لمعان اسم البراند */
.brand-shine{
  background: linear-gradient(90deg,#16a34a 0%,#16a34a 40%,#22c55e 50%,#16a34a 60%,#16a34a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% 100%; animation: shine 2.6s ease-in-out infinite;
}
@keyframes shine{ 0%{background-position:0% 0} 50%{background-position:100% 0} 100%{background-position:0% 0} }

/* تفاعل شريط البحث عند الـ focus */
.search-anim{
  transition: box-shadow .25s ease, transform .25s ease;
}
.search-anim:focus-within{
  box-shadow: 0 0 0 4px rgba(5,150,105,.25), 0 8px 24px rgba(2,44,34,.08);
  transform: translateY(-1px);
}

/* Ripple لزرّ البحث */
.btn-ripple{ position:relative; overflow:hidden; }
.btn-ripple::after{
  content:""; position:absolute; left:50%; top:50%;
  width:0; height:0; background:rgba(255,255,255,.35);
  border-radius:50%; transform:translate(-50%,-50%); opacity:0;
}
.btn-ripple:active::after{
  width:180%; height:180%; opacity:1;
  transition: width .35s ease, height .35s ease, opacity .6s ease;
  opacity:0;
}

/* دوران خفيف لأيقونة الفلتر */
.spin-on-hover svg{ transition: transform .3s ease; }
.spin-on-hover:hover svg{ transform: rotate(-15deg); }

/* Pop/Lift لأيقونات الحساب/المفضلة/السلة */
.icons-anim a{ transition: transform .2s ease; }
.icons-anim a:hover{ transform: translateY(-3px); }
.icons-anim a img{ transition: transform .2s ease, filter .2s ease; }
.icons-anim a:hover img{ transform: scale(1.05); }
.icons-anim a span{ transition: color .2s ease; }
.icons-anim a:hover span{ color:#059669; } /* emerald-600 */





 
 
/* العنوان */
.cat-title{
  opacity: 0;
  transform: translateY(24px);
  transition: transform .6s ease-out, opacity .6s ease-out;
}

/* الكروت */
.cat-card{
  opacity: 1;
  transform: translateY(30px) scale(.98);
  will-change: transform, opacity;
  perspective: 800px;
  transform-style: preserve-3d;
  transition: transform .8s cubic-bezier(.22,.8,.26,1), opacity .8s cubic-bezier(.22,.8,.26,1), box-shadow .25s ease;
}

 
.cat-title.in-view{
  opacity: 1;
  transform: translateY(0);
}
.cat-card.in-view{
  opacity: 1;
  transform: translateY(0) scale(1);
}
 
.cat-card{ transition-delay: var(--delay, 0s); }
.cat-card:nth-child(1){  --delay:.03s; }
.cat-card:nth-child(2){  --delay:.09s; }
.cat-card:nth-child(3){  --delay:.15s; }
.cat-card:nth-child(4){  --delay:.21s; }
.cat-card:nth-child(5){  --delay:.27s; }
.cat-card:nth-child(6){  --delay:.33s; }
.cat-card:nth-child(7){  --delay:.39s; }
.cat-card:nth-child(8){  --delay:.45s; }
.cat-card:nth-child(9){  --delay:.51s; }
.cat-card:nth-child(10){ --delay:.57s; }
.cat-card:nth-child(11){ --delay:.63s; }
.cat-card:nth-child(12){ --delay:.69s; }

 
.cat-card:hover{
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  transform: translateY(-4px) scale(1.02);
}

 
.back-btn{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translateZ(0);
  animation: btnPop .6s .2s cubic-bezier(.22,.8,.26,1) both;
}
@keyframes btnPop{
  0%{ transform: scale(.9); opacity:0; }
  100%{ transform: scale(1); opacity:1; }
}
.back-btn::after{
  content:"";
  position:absolute;
  inset:-100% -30%;
  background: radial-gradient(120px 120px at var(--mx,50%) var(--my,50%), rgba(255,255,255,.25), transparent 60%);
  opacity:.0;
  transition: opacity .2s;
  z-index:-1;
}
.back-btn:hover::after{ opacity:.6; }

/* احترام تفضيل تقليل الحركة */
@media (prefers-reduced-motion: reduce){
  .cat-title, .cat-card{
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}





 
 
  /* حركة عائمة للخضار فقط */
  @keyframes floatY {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
  }

  .float-anim-left {
    animation: floatY 4s ease-in-out infinite;
  }



   
 
@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animate-fadeUp {
  animation: fadeUp 0.9s ease forwards;
}
.animate-fadeUp.delay-100 { animation-delay: 0.1s; }
.animate-fadeUp.delay-200 { animation-delay: 0.2s; }
.animate-fadeUp.delay-300 { animation-delay: 0.3s; }
 

 
 
 
  .ink-underline {
    position: relative;
    display: inline-block;
  }
  .ink-underline::after {
    content: "";
    position: absolute;
    left: 50%; bottom: -3px;
    width: 0; height: 2px;
    border-radius: 9999px;
    background: linear-gradient(90deg,#facc15,#fde047,#facc15);
    transform: translateX(-50%);
    transition: width .42s cubic-bezier(.22,1,.36,1), height .42s cubic-bezier(.22,1,.36,1);
  }
  .ink-underline:hover::after,
  .ink-underline:focus-visible::after {
    width: 100%; height: 3px;
  }

  [data-reveal]{opacity:0; will-change:transform,opacity;}
  @keyframes revealLeft {
    from {opacity:0; transform:translateX(-40px);}
    to   {opacity:1; transform:translateX(0);}
  }
  @keyframes revealRight {
    from {opacity:0; transform:translateX(40px);}
    to   {opacity:1; transform:translateX(0);}
  }

  .is-inview[data-reveal="left"]  {animation:revealLeft .7s cubic-bezier(.22,1,.36,1) both}
  .is-inview[data-reveal="right"] {animation:revealRight .7s cubic-bezier(.22,1,.36,1) both}

  .is-inview{animation-delay:var(--rv-delay,0s)}

  @media (prefers-reduced-motion: reduce){
    .ink-underline::after{transition:none}
    [data-reveal]{opacity:1 !important; transform:none !important; animation:none !important}
  }
 










 



 




 





