/* =========================================================================
   components.css — custom classes & animations
   Ported verbatim from the original inline <style> so the ambient glow,
   soul-spark pulse and fade-in behaviour are identical.
   ========================================================================= */

.spiritual-title {
  font-family: var(--font-title);
}

/* Ambient glow representing the Supreme Source (Shiv Baba) */
.light-glow {
  box-shadow: var(--glow-light);
}
.blue-glow {
  box-shadow: var(--glow-blue);
}

/* Divine soul-spark pulsing animation */
@keyframes divine-pulse {
  0%, 100% { transform: scale(1);    opacity: 0.95; box-shadow: 0 0 25px 12px var(--brand-amber-soft); }
  50%      { transform: scale(1.35); opacity: 0.75; box-shadow: 0 0 50px 24px rgba(251, 146, 60, 0.3); }
}
.divine-light {
  animation: divine-pulse 4.5s infinite ease-in-out;
}

/* Standard fade-in */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fadeIn {
  animation: fadeIn 0.35s ease-out forwards;
}

/* Slow rotation for the sidebar sun mark (class was referenced but never
   defined in the original; wiring it up now matches the clear intent). */
@keyframes spin-slow { to { transform: rotate(360deg); } }
.animate-spin-slow {
  animation: spin-slow 9s linear infinite;
}

/* Indeterminate top loading bar shown while the DB is syncing. */
@keyframes loading-slide {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(400%); }
}
.loading-bar-track {
  position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60;
  background: rgba(245, 158, 11, 0.15); overflow: hidden;
}
.loading-bar-fill {
  height: 100%; width: 25%;
  background: var(--brand-amber);
  animation: loading-slide 1.1s ease-in-out infinite;
}

/* Print only the ID card when "Print / PDF" is used. */
@media print {
  body * { visibility: hidden !important; }
  #id-card-print, #id-card-print * { visibility: visible !important; }
  #id-card-print {
    position: absolute; left: 0; top: 0;
    display: flex; flex-wrap: wrap; gap: 16px;
  }
  .bk-idcard { box-shadow: none !important; border: 1px solid #e2e8f0 !important; }
}

