/* =========================================
   css/animations.css - Motion & Glass
   ========================================= */

@keyframes gradient-bg{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}

.background-gradient{
  background:linear-gradient(-45deg,#f6f2e9,#efe4cf,#e7d9bd,#f6f2e9);
  background-size:400% 400%;
  animation:gradient-bg 18s ease infinite;
  position:fixed; inset:0;
  z-index:-1;
}
[data-theme="dark"] .background-gradient{
  background:linear-gradient(-45deg,#0d0f1a,#141a2e,#1c2340,#0d0f1a);
}

/* Search input */
.search-input-group{ position:relative; margin:1.5rem 0; }
.search-input-group input{
  width:100%;
  padding:1.1rem 1.1rem 1.1rem 3rem;
  border-radius:var(--radius-md);
  border:2px solid transparent;
  background:rgba(255,255,255,.85);
  font-size:1.05rem; font-family:inherit; color:var(--ink);
  box-shadow:0 4px 6px -1px rgba(0,0,0,.05);
  transition:all var(--transition-fast);
}
html[dir="rtl"] .search-input-group input{ padding:1.1rem 3rem 1.1rem 1.1rem; }
.search-input-group input:focus{
  outline:none; border-color:var(--indigo); background:#fff;
  box-shadow:0 0 0 4px rgba(59,74,145,.15);
}
.search-icon{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--ink-soft); }
html[dir="rtl"] .search-icon{ left:auto; right:1rem; }

@keyframes spin{ to{ transform:translateY(-50%) rotate(360deg); } }
.spinner{
  position:absolute; right:1rem; top:50%; transform:translateY(-50%);
  width:20px; height:20px;
  border:3px solid rgba(59,74,145,.25);
  border-top-color:var(--indigo);
  border-radius:50%;
  animation:spin .7s linear infinite;
}
html[dir="rtl"] .spinner{ right:auto; left:1rem; }

/* Fade/slide reveal for sections & result cards */
@keyframes fade-up{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
.results-list .result-item{ animation:fade-up .35s var(--transition-smooth) both; }
.results-list .result-item:nth-child(1){ animation-delay:.02s; }
.results-list .result-item:nth-child(2){ animation-delay:.05s; }
.results-list .result-item:nth-child(3){ animation-delay:.08s; }
.results-list .result-item:nth-child(4){ animation-delay:.11s; }

.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in-view{ opacity:1; transform:translateY(0); }

@keyframes toast-in{
  from{ opacity:0; transform:translate(-50%,10px); }
  to{ opacity:1; transform:translate(-50%,0); }
}
.toast-stack .toast{ animation:toast-in .25s ease both; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
