/* Custom styles and overrides */

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0a0f0a;
}
::-webkit-scrollbar-thumb {
  background: #166534;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #22c55e;
}

/* Selection color */
::selection {
  background: rgba(34, 197, 94, 0.3);
  color: #fef9c3;
}

/* Focus styles */
:focus-visible {
  outline: 2px solid #22c55e;
  outline-offset: 2px;
}

/* Animation keyframes */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.2); }
  50% { box-shadow: 0 0 40px rgba(34, 197, 94, 0.4); }
}

/* Gold shimmer effect for special elements */
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Ensure all text is readable */
.text-cream-50 { color: #fefce8; }
.text-cream-100 { color: #fef9c3; }
.text-cream-200 { color: #fef08a; }
.text-cream-300 { color: #fde047; }

/* Emerald text colors */
.text-emerald-400 { color: #4ade80; }
.text-emerald-300 { color: #86efac; }

/* Button hover states */
button:hover, a:hover {
  transition: all 0.2s ease;
}

/* Input focus states */
input:focus, textarea:focus {
  background-color: #0f1a0f;
}

/* Card hover effects */
.card-hover {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Mobile menu transitions */
.mobile-menu {
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Print styles */
@media print {
  nav, .mobile-menu, #contact-form, button { display: none; }
  body { background: white; color: black; }
  .hero-bg { background: none; }
}
