/* Horizon Tailwind CSS Custom Configuration */

/* Custom Horizon Color Palette */
:root {
  /* Brand Colors */
  --brand-50: #eff6ff;
  --brand-100: #dbeafe;
  --brand-200: #bfdbfe;
  --brand-300: #93c5fd;
  --brand-400: #60a5fa;
  --brand-500: #3b82f6;
  --brand-600: #2563eb;
  --brand-700: #1d4ed8;
  --brand-800: #1e40af;
  --brand-900: #1e3a8a;

  /* Navy Colors */
  --navy-50: #f8fafc;
  --navy-100: #f1f5f9;
  --navy-200: #e2e8f0;
  --navy-300: #cbd5e1;
  --navy-400: #94a3b8;
  --navy-500: #64748b;
  --navy-600: #475569;
  --navy-700: #334155;
  --navy-800: #1e293b;
  --navy-900: #0f172a;

  /* Light Primary */
  --lightPrimary: #F4F7FE;
}

/* Dark mode navy colors */
.dark {
  --navy-50: #0f172a;
  --navy-100: #1e293b;
  --navy-200: #334155;
  --navy-300: #475569;
  --navy-400: #64748b;
  --navy-500: #94a3b8;
  --navy-600: #cbd5e1;
  --navy-700: #e2e8f0;
  --navy-800: #f1f5f9;
  --navy-900: #f8fafc;
}

/* Brand Color Classes */
.text-brand-50 { color: var(--brand-50); }
.text-brand-100 { color: var(--brand-100); }
.text-brand-200 { color: var(--brand-200); }
.text-brand-300 { color: var(--brand-300); }
.text-brand-400 { color: var(--brand-400); }
.text-brand-500 { color: var(--brand-500); }
.text-brand-600 { color: var(--brand-600); }
.text-brand-700 { color: var(--brand-700); }
.text-brand-800 { color: var(--brand-800); }
.text-brand-900 { color: var(--brand-900); }

.bg-brand-50 { background-color: var(--brand-50); }
.bg-brand-100 { background-color: var(--brand-100); }
.bg-brand-200 { background-color: var(--brand-200); }
.bg-brand-300 { background-color: var(--brand-300); }
.bg-brand-400 { background-color: var(--brand-400); }
.bg-brand-500 { background-color: var(--brand-500); }
.bg-brand-600 { background-color: var(--brand-600); }
.bg-brand-700 { background-color: var(--brand-700); }
.bg-brand-800 { background-color: var(--brand-800); }
.bg-brand-900 { background-color: var(--brand-900); }

/* Navy Color Classes */
.text-navy-50 { color: var(--navy-50); }
.text-navy-100 { color: var(--navy-100); }
.text-navy-200 { color: var(--navy-200); }
.text-navy-300 { color: var(--navy-300); }
.text-navy-400 { color: var(--navy-400); }
.text-navy-500 { color: var(--navy-500); }
.text-navy-600 { color: var(--navy-600); }
.text-navy-700 { color: var(--navy-700); }
.text-navy-800 { color: var(--navy-800); }
.text-navy-900 { color: var(--navy-900); }

.bg-navy-50 { background-color: var(--navy-50); }
.bg-navy-100 { background-color: var(--navy-100); }
.bg-navy-200 { background-color: var(--navy-200); }
.bg-navy-300 { background-color: var(--navy-300); }
.bg-navy-400 { background-color: var(--navy-400); }
.bg-navy-500 { background-color: var(--navy-500); }
.bg-navy-600 { background-color: var(--navy-600); }
.bg-navy-700 { background-color: var(--navy-700); }
.bg-navy-800 { background-color: var(--navy-800); }
.bg-navy-900 { background-color: var(--navy-900); }

/* Border Colors */
.border-brand-300 { border-color: var(--brand-300); }
.border-brand-500 { border-color: var(--brand-500); }
.border-brand-600 { border-color: var(--brand-600); }
.border-navy-700 { border-color: var(--navy-700); }

/* Light Primary */
.bg-lightPrimary { background-color: var(--lightPrimary); }

/* Gradient Utilities */
.btn-gradient {
  background: linear-gradient(135deg, var(--brand-500) 0%, var(--brand-600) 100%);
}

.btn-gradient:hover {
  background: linear-gradient(135deg, var(--brand-600) 0%, var(--brand-700) 100%);
}

/* Glass Effect */
.glass-effect {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.dark .glass-effect {
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid rgba(71, 85, 105, 0.3);
}

/* Card Shadows */
.card-shadow {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.card-shadow-hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Text Gradients */
.text-gradient {
  background: linear-gradient(135deg, var(--brand-500) 0%, var(--brand-700) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Ring Colors */
.ring-brand-500 { --tw-ring-color: var(--brand-500); }
.focus\:ring-brand-500:focus { --tw-ring-color: var(--brand-500); }

/* Border Width */
.border-r-3 { border-right-width: 3px; }

/* Custom Focus Styles */
.focus-brand:focus {
  outline: 2px solid var(--brand-500);
  outline-offset: 2px;
}

/* Horizon specific animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.6s ease-out;
}

.animate-fadeInScale {
  animation: fadeInScale 0.5s ease-out;
}

/* Responsive utilities */
@media (max-width: 640px) {
  .mobile-padding {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Print styles */
@media print {
  .no-print {
    display: none !important;
  }
}
