/* Soberpedia — site-wide motion layer (20260908)
   Scroll reveals + gentle energy. Applied by site-motion JS; safe no-JS (classes only added via JS). */
@media (prefers-reduced-motion: reduce) {
  .sp-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
.sp-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--sp-d, 0ms);
  will-change: opacity, transform;
}
.sp-reveal.sp-in { opacity: 1; transform: none; }

/* Sustained energy: cards lift on hover (hover outranks .sp-in) */
.related-grid a,
.home-section a,
.product-question-suggestions button,
.sb-accordions details {
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
.related-grid a:hover,
.home-section a:hover,
.product-question-suggestions button:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(24, 13, 59, 0.14);
}
.steps .step:hover,
.sp-long-section .step:hover {
  transform: translateY(-3px);
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.35s ease, border-color 0.35s ease;
  box-shadow: 0 10px 28px rgba(24, 13, 59, 0.10);
}

/* Arrows nudge on hover */
a[class]:hover > span[aria-hidden="true"]:last-child,
.sb-cta:hover span[aria-hidden="true"],
.more:hover { transition: transform 0.3s ease; }
.sb-cta:hover span[aria-hidden="true"] { display: inline-block; transform: translateX(4px); }

/* Product vials: gentle breathing float */
@keyframes sp-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
main figure img[fetchpriority="high"],
.sb-product img { animation: sp-float 7s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  main figure img[fetchpriority="high"],
  .sb-product img { animation: none; }
}

/* CTA buttons: alive under the cursor */
.sb-cta,
a[href*="checkoutFlow=intake_first"] {
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.25s ease, filter 0.25s ease;
}
.sb-cta:hover,
a[href*="checkoutFlow=intake_first"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(46, 0, 139, 0.30);
  filter: brightness(1.05);
}

/* Soft entrance for the whole page on first paint */
@keyframes sp-page-in { from { opacity: 0; } to { opacity: 1; } }
body { animation: sp-page-in 0.6s ease-out; }
@media (prefers-reduced-motion: reduce) { body { animation: none; } }
