
html {
  height: 100%;
  width: 100%;
  scroll-behavior: smooth;
}

body {
  line-height: 1.6;
  letter-spacing: -0.01em;
  background-color: #FFFFFF;
  color: #333333;
}

/* Optimized scrollbar */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #6C757D;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #5a6268;
}

/* Selective animations - only on interactive elements */
button, a, input, textarea, select {
  transition: all 0.2s ease-in-out;
}

/* Performance optimization */
* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

/* Enhanced focus states */
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none;
  ring: 2px;
  ring-color: #007BFF;
  ring-offset: 2px;
}

/* Subtle hover effects */
.hover-lift:hover {
  transform: translateY(-2px);
}

/* Glass morphism effect for navigation */
nav {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Enhanced gradient text */
.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}

/* Custom animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.6s ease-out;
}

/* Elegant Wave Animation for Hero */
@keyframes elegantWave {
  0%, 100% { 
    color: #6C757D; /* Gray color */
  }
  50% { 
    color: #007BFF; /* Blue color matching site theme */
  }
}

.elegant-wave {
  display: inline-block;
}

.elegant-wave span {
  display: inline-block;
  animation: elegantWave 2.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.3s);
  font-weight: 700;
  transition: all 0.3s ease;
}

.elegant-wave span:hover {
  transform: scale(1.05);
}

/* Mobile navigation improvements */
@media (max-width: 768px) {
  nav {
    padding: 1rem;
  }
  
  .text-5xl {
    font-size: 2.5rem;
  }
  
  .text-6xl {
    font-size: 3rem;
  }
}

/* Typography enhancements */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.2;
  color: #333333;
}

p {
  line-height: 1.7;
  color: #333333;
}

/* Links */
a {
  color: #007BFF;
  text-decoration: none;
}

a:hover {
  color: #0056b3;
}

/* Navigation hover effects */
nav a.text-gray-600:hover {
  color: #87CEEB !important;
}

/* Language dropdown hover effect */
nav button.text-gray-600:hover {
  color: #87CEEB !important;
}

/* Form styling */
input, textarea, select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  border-color: #6C757D;
}

input:focus, textarea:focus, select:focus {
  border-color: #007BFF;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* Button styling */
.bg-indigo-600,
nav .bg-indigo-600 {
  background-color: #007BFF !important;
  color: #FFFFFF !important;
}

.bg-indigo-600:hover,
.hover\:bg-indigo-700:hover,
nav .bg-indigo-600:hover {
  background-color: #0056b3 !important;
  color: #FFFFFF !important;
}

.text-indigo-600 {
  color: #007BFF !important;
}

.text-indigo-800:hover,
.hover\:text-indigo-800:hover {
  color: #0056b3 !important;
}

.border-indigo-600 {
  border-color: #007BFF !important;
}

/* Card hover effects */
.bg-white:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Video preview styling */
#videoPreview {
  background: white;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 8px;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 9999;
}

#videoPreview iframe {
  border-radius: 8px;
}

/* Override Tailwind colors to match our scheme */
.text-gray-900 {
  color: #333333 !important;
}

.text-gray-600 {
  color: #6C757D !important;
}

.text-gray-700 {
  color: #333333 !important;
}

.text-gray-500 {
  color: #6C757D !important;
}

.bg-gray-50 {
  background-color: #FFFFFF !important;
}

.bg-gray-100 {
  background-color: #e9ecef !important;
}

.border-gray-100 {
  border-color: #e9ecef !important;
}

/* Purple accent overrides to use blue */
.bg-purple-600 {
  background-color: #007BFF !important;
}

.from-indigo-600 {
  --tw-gradient-from: #007BFF !important;
}

.to-purple-600 {
  --tw-gradient-to: #007BFF !important;
}

/* Gradient backgrounds */
.bg-gradient-to-br {
  background: linear-gradient(135deg, var(--tw-gradient-from), var(--tw-gradient-to));
}

.bg-gradient-to-r {
  background: linear-gradient(90deg, var(--tw-gradient-from), var(--tw-gradient-to));
}

/* Additional accent color overrides */
.text-purple-600,
.text-purple-800 {
  color: #007BFF !important;
}

.text-green-600 {
  color: #007BFF !important;
}

.text-orange-600 {
  color: #007BFF !important;
}

.bg-green-600,
.bg-orange-600,
.bg-purple-600 {
  background-color: #007BFF !important;
}

/* Navigation active states */
.font-semibold {
  font-weight: 600;
}

/* Badge colors */
.bg-purple-100,
.bg-green-100,
.bg-orange-100,
.bg-blue-100,
.bg-indigo-100 {
  background-color: rgba(0, 123, 255, 0.1) !important;
}

.text-purple-800,
.text-green-800,
.text-orange-800,
.text-blue-800,
.text-indigo-800 {
  color: #007BFF !important;
}

/* Ensure consistent background */
body,
.bg-white {
  background-color: #FFFFFF !important;
}
