/**
 * Ivy Wizard Pro — UI Overrides v38
 * Universal button normalisation + wizard step polish
 */

/* ─── Universal button token enforcement ─────────────────────── */
:root {
  --ivy-btn-h:      52px;
  --ivy-btn-r:      14px;
  --ivy-btn-fs:     15px;
  --ivy-btn-fw:     800;
}

/* Wizard primary buttons */
.ivy-wz__btn-primary,
.ivy-wz__plan-btn,
.ivy-step__next,
.ivy-step__prev,
.ivy-wz__submit,
.ivy-wz__checkout-btn,
.ivy-wz__cta {
  height: var(--ivy-btn-h) !important;
  border-radius: var(--ivy-btn-r) !important;
  font-size: var(--ivy-btn-fs) !important;
  font-weight: var(--ivy-btn-fw) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 28px !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 160ms cubic-bezier(.22,1,.36,1), box-shadow 160ms !important;
  letter-spacing: 0.01em !important;
}
.ivy-wz__btn-primary:hover,
.ivy-step__next:hover,
.ivy-wz__submit:hover,
.ivy-wz__checkout-btn:hover {
  transform: translateY(-2px) !important;
}

/* ─── Chat toggle ─────────────────────────────────────────────── */
.ivy-chat-toggle {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 9999 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg,#6ea8ff,#8abdfd) !important;
  color: #0a1730 !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 24px rgba(110,168,255,0.40) !important;
  transition: transform 150ms, box-shadow 150ms !important;
}
.ivy-chat-toggle:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 10px 36px rgba(110,168,255,0.55) !important;
}

/* ─── Step transitions ────────────────────────────────────────── */
.ivy-wz__step {
  animation: ivy-step-in 260ms cubic-bezier(.22,1,.36,1) both !important;
}
@keyframes ivy-step-in {
  from { opacity:0; transform: translateY(12px); }
  to   { opacity:1; transform: translateY(0); }
}

/* ─── Plan card improvements ──────────────────────────────────── */
.ivy-wz__plan-card {
  transition: transform 160ms, border-color 160ms, box-shadow 160ms !important;
}
.ivy-wz__plan-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.40) !important;
}
