/* PointsHub — interaction & animation layer (replicates the original framer-motion behaviors) */

/* Scroll-reveal initial states */
[data-reveal] { opacity: 0; will-change: opacity, transform; }
[data-reveal="y30"]  { transform: translateY(30px); }
[data-reveal="y20"]  { transform: translateY(20px); }
[data-reveal="y15"]  { transform: translateY(15px); }
[data-reveal="y-40"] { transform: translateY(-40px); }
[data-reveal="s90"]  { transform: scale(0.9); }
[data-reveal].ph-revealed {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; }
}

/* Nav entry animation */
#ph-nav { transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.5s; }
#ph-nav.ph-nav-in { transform: translateY(0) !important; }

/* AI Pulse Engine orb — continuous pulse (mirrors the original animation loop) */
@keyframes ph-orb-glow {
  0%, 100% { box-shadow: rgba(212, 175, 55, 0.2) 0px 0px 20px; }
  50%      { box-shadow: rgba(212, 175, 55, 0.45) 0px 0px 45px; }
}
@keyframes ph-ring1 {
  0%, 100% { border-color: rgba(212, 175, 55, 0.267); }
  50%      { border-color: rgba(212, 175, 55, 0.6); }
}
@keyframes ph-ring2 {
  0%, 100% { border-color: rgba(212, 175, 55, 0.2); }
  50%      { border-color: rgba(212, 175, 55, 0.45); }
}
.ph-orb       { animation: ph-orb-glow 2.4s ease-in-out infinite; }
.ph-orb-ring1 { animation: ph-ring1 2.4s ease-in-out infinite; }
.ph-orb-ring2 { animation: ph-ring2 2.4s ease-in-out infinite 0.3s; }

/* Product card expanded state */
.ph-card.ph-expanded { border-color: hsl(var(--primary) / 0.4); grid-column: span 2 / span 2; }
@media (max-width: 1023px) { .ph-card.ph-expanded { grid-column: span 1 / span 1; } }
.ph-card.ph-expanded .ph-card-overlay { background-color: hsl(var(--background) / 0.85); }
.ph-card.ph-expanded .ph-card-content { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 1024px) {
  .ph-card.ph-expanded .ph-card-content { flex-direction: row; }
  .ph-card.ph-expanded .ph-card-main,
  .ph-card.ph-expanded .ph-card-features { width: 50%; }
}
.ph-card.ph-expanded .ph-card-features { display: block; }
.ph-card.ph-expanded .ph-card-hint { display: none; }
.ph-card.ph-expanded .ph-card-line { display: block; }

/* Mobile menu panel & form success block */
.ph-mobile-menu { background-color: hsl(var(--background) / 0.95); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.ph-done { padding-top: 2rem; padding-bottom: 2rem; }
