/* Custom CSS for melavendoio landing page */

/* Color variables based on our design system */
:root {
  --primary-50: #eff6ff;
  --primary-100: #dbeafe;
  --primary-200: #bfdbfe;
  --primary-300: #93c5fd;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;
  --primary-950: #172554;

  /* Secondary terra cotta */
  --secondary-50: #fff7ed;
  --secondary-100: #ffedd5;
  --secondary-200: #fed7aa;
  --secondary-300: #fdba74;
  --secondary-400: #fb923c;
  --secondary-500: #f97316;
  --secondary-600: #ea580c;
  --secondary-700: #c2410c;
  --secondary-800: #9a3412;
  --secondary-900: #7c2d12;
  --secondary-950: #431407;

  /* Success emerald */
  --success-50: #ecfdf5;
  --success-100: #d1fae5;
  --success-200: #a7f3d0;
  --success-300: #6ee7b7;
  --success-400: #34d399;
  --success-500: #10b981;
  --success-600: #059669;
  --success-700: #047857;
  --success-800: #065f46;
  --success-900: #064e3b;
  --success-950: #022c22;

  /* Neutrals */
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --gray-950: #030712;

  /* Transition */
  --transition-default: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Utility classes for custom colors */
.text-primary-600 {
  color: var(--primary-600);
}
.bg-primary-600 {
  background-color: var(--primary-600);
}
.hover\:bg-primary-700:hover {
  background-color: var(--primary-700);
}
.focus\:ring-primary-500:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity));
}
.border-primary-600 {
  border-color: var(--primary-600);
}

/* Secondary colors */
.text-secondary-600 {
  color: var(--secondary-600);
}
.bg-secondary-600 {
  background-color: var(--secondary-600);
}
.hover\:bg-secondary-700:hover {
  background-color: var(--secondary-700);
}

/* Success colors */
.text-success-600 {
  color: var(--success-600);
}
.bg-success-600 {
  background-color: var(--success-600);
}
.hover\:bg-success-700:hover {
  background-color: var(--success-700);
}

/* Form message styles */
#form-message.success {
  color: var(--success-600);
  font-weight: 500;
}
#form-message.error {
  color: #dc2626;
  font-weight: 500;
}
#cta-message.success {
  color: var(--success-600);
  font-weight: 500;
}
#cta-message.error {
  color: #dc2626;
  font-weight: 500;
}

/* FAQ toggle animation */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.faq-answer.open {
  max-height: 500px; /* enough for content */
  transition: max-height 0.4s ease-in;
}

/* Custom animations for hero shape */
@keyframes wave {
  0% {
    transform: translateX(0) translateY(0);
  }
  50% {
    transform: translateX(-20px) translateY(10px);
  }
  100% {
    transform: translateX(0) translateY(0);
  }
}
.animate-wave {
  animation: wave 6s ease-in-out infinite;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .hero-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

/* Print styles */
@media print {
  body {
    font-size: 12pt;
  }
  .no-print {
    display: none;
  }
}