/* ═══════════════════════════════════════════════════════════════════════════
   VitoScore Pricing Page – Premium Enterprise Styles
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Floating Orbit Animation ───────────────────────────────────────────── */
@keyframes pricing-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33%  { transform: translateY(-12px) rotate(1deg); }
  66%  { transform: translateY(6px) rotate(-1deg); }
}

@keyframes pricing-float-slow {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(8px, -16px) scale(1.05); }
}

@keyframes pricing-float-reverse {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50%  { transform: translate(-10px, -20px) rotate(-3deg); }
}

@keyframes pricing-drift {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(30px, -20px); }
  50%  { transform: translate(10px, -40px); }
  75%  { transform: translate(-20px, -15px); }
  100% { transform: translate(0, 0); }
}

@keyframes pricing-drift-slow {
  0%   { transform: translate(0, 0) rotate(0deg); }
  33%  { transform: translate(-25px, -30px) rotate(2deg); }
  66%  { transform: translate(15px, -10px) rotate(-1deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

/* ── Glow Pulse ─────────────────────────────────────────────────────────── */
@keyframes pricing-glow {
  0%, 100% { opacity: .4; filter: blur(60px); }
  50%  { opacity: .7; filter: blur(80px); }
}

@keyframes pricing-glow-strong {
  0%, 100% { opacity: .5; filter: blur(40px); }
  50%  { opacity: .85; filter: blur(60px); }
}

/* ── Gradient Border Spin ───────────────────────────────────────────────── */
@keyframes pricing-border-spin {
  0%   { --border-angle: 0deg; }
  100% { --border-angle: 360deg; }
}

@property --border-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

/* ── Shimmer ────────────────────────────────────────────────────────────── */
@keyframes pricing-shimmer {
  0%   { transform: translateX(-100%) skewX(-12deg); }
  100% { transform: translateX(200%) skewX(-12deg); }
}

/* ── Dash Draw ──────────────────────────────────────────────────────────── */
@keyframes pricing-dash-draw {
  to { stroke-dashoffset: 0; }
}

/* ── Scale In ───────────────────────────────────────────────────────────── */
@keyframes pricing-scale-in {
  0%   { opacity: 0; transform: scale(.92); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Fade Up ────────────────────────────────────────────────────────────── */
@keyframes pricing-fade-up {
  0%   { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ── Counter Pulse ──────────────────────────────────────────────────────── */
@keyframes pricing-counter-pulse {
  0%, 100% { transform: scale(1); }
  50%  { transform: scale(1.06); }
}

/* ── Apply Animations ───────────────────────────────────────────────────── */
.pricing-float        { animation: pricing-float 6s ease-in-out infinite; }
.pricing-float-slow   { animation: pricing-float-slow 10s ease-in-out infinite; }
.pricing-float-reverse{ animation: pricing-float-reverse 8s ease-in-out infinite; }
.pricing-drift        { animation: pricing-drift 20s linear infinite; }
.pricing-drift-slow   { animation: pricing-drift-slow 18s ease-in-out infinite; }

.pricing-glow {
  animation: pricing-glow 4s ease-in-out infinite;
}

.pricing-glow-strong {
  animation: pricing-glow-strong 3s ease-in-out infinite;
}

/* ── Animated Gradient Border Card ──────────────────────────────────────── */
.pricing-card-highlight {
  position: relative;
}

.pricing-card-highlight::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--border-angle),
    #3b82f6,
    #8b5cf6,
    #ec4899,
    #8b5cf6,
    #3b82f6
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 2px;
  animation: pricing-border-spin 4s linear infinite;
  z-index: -1;
}

/* ── Card Hover Lift ────────────────────────────────────────────────────── */
.pricing-card {
  transition: transform .35s cubic-bezier(.32,.72,0,1), box-shadow .35s ease;
}

.pricing-card:hover {
  transform: translateY(-6px);
}

.pricing-card-highlight:hover {
  transform: translateY(-8px);
}

/* ── Feature Icon Container ─────────────────────────────────────────────── */
.pricing-feature-icon {
  transition: transform .25s ease, color .25s ease;
}

.pricing-card:hover .pricing-feature-icon {
  transform: scale(1.1);
}

/* ── Shimmer Effect on CTA ──────────────────────────────────────────────── */
.pricing-cta-shimmer {
  position: relative;
  overflow: hidden;
}

.pricing-cta-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255,255,255,.15) 45%,
    rgba(255,255,255,.25) 50%,
    rgba(255,255,255,.15) 55%,
    transparent 60%
  );
  animation: pricing-shimmer 2.5s ease-in-out infinite;
}

/* ── Animated SVG Ring ──────────────────────────────────────────────────── */
.pricing-ring-dash {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: pricing-dash-draw 2s ease-out forwards;
}

/* ── FAQ Accordion ──────────────────────────────────────────────────────── */
.pricing-faq-toggle {
  cursor: pointer;
}

.pricing-faq-toggle .faq-chevron {
  transition: transform .3s ease;
}

.pricing-faq-toggle[aria-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
}

.pricing-faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .4s cubic-bezier(.32,.72,0,1);
}

.pricing-faq-content.is-open {
  grid-template-rows: 1fr;
}

.pricing-faq-content > div {
  overflow: hidden;
}

/* ── Hero Geometric SVG Elements ────────────────────────────────────────── */
.pricing-hero-orb {
  animation: pricing-glow-strong 4s ease-in-out infinite;
}

/* ── Stats Counter ──────────────────────────────────────────────────────── */
.pricing-stat-value {
  animation: pricing-counter-pulse 2s ease-in-out infinite;
}

/* ── Dark mode adjustments ──────────────────────────────────────────────── */
.dark .pricing-card-highlight::before {
  background: conic-gradient(
    from var(--border-angle),
    #1d4ed8,
    #6d28d9,
    #be185d,
    #6d28d9,
    #1d4ed8
  );
}

/* ── Intersection Observer Reveal ───────────────────────────────────────── */
.pricing-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease, transform .7s ease;
}

.pricing-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Stagger delays for cards ───────────────────────────────────────────── */
.pricing-reveal-delay-1 { transition-delay: .1s; }
.pricing-reveal-delay-2 { transition-delay: .2s; }
.pricing-reveal-delay-3 { transition-delay: .3s; }
.pricing-reveal-delay-4 { transition-delay: .4s; }

/* ── Comparison table row hover ─────────────────────────────────────────── */
.pricing-compare-row {
  transition: background-color .2s ease;
}

/* ── Badge pulse ────────────────────────────────────────────────────────── */
.pricing-badge-popular {
  animation: pricing-counter-pulse 3s ease-in-out infinite;
}

/* ── Fine-tune heading gradient ─────────────────────────────────────────── */
.pricing-heading-gradient {
  background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 40%, #f472b6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Divider with center glow ───────────────────────────────────────────── */
.pricing-divider-glow {
  position: relative;
}

.pricing-divider-glow::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 1px;
  background: radial-gradient(ellipse at center, currentColor 0%, transparent 70%);
}