
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;

    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;

    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;

    --primary: 204 77% 32%;
    --primary-foreground: 210 40% 98%;

    --secondary: 146 64% 32%;
    --secondary-foreground: 222.2 47.4% 11.2%;

    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;

    --accent: 146 64% 32%;
    --accent-foreground: 222.2 47.4% 11.2%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;

    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 146 64% 51%;

    --radius: 0.75rem;

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-white text-foreground font-nunito;
    font-feature-settings: "ss01", "ss02", "cv01", "cv02", "cv03";
  }
  
  /* Improve text rendering */
  h1, h2, h3, h4, h5, h6 {
    text-rendering: optimizeLegibility;
  }
}

/* Optimized animation utilities */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blob {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -30px) scale(1.05);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.95);
  }
  100% {
    transform: translate(0px, 0px) scale(1);
  }
}

/* Added float animation for the efficiency badge */
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0px);
  }
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.animate-fade-in {
  animation: fadeIn 0.6s ease forwards;
}

.animate-blob {
  animation: blob 10s infinite alternate;
}

.animation-delay-2000 {
  animation-delay: 2s;
}

.animation-delay-4000 {
  animation-delay: 4s;
}

.animation-delay-500 {
  animation-delay: 0.5s;
}

.btn-primary {
  @apply bg-[#1b5a8b] hover:bg-[#164a75] text-white font-semibold py-3 px-6 rounded-lg transition-all duration-300 text-center shadow-md hover:shadow-lg;
}

.btn-secondary {
  @apply bg-[#2d9e60] hover:bg-[#25834f] text-white font-semibold py-3 px-6 rounded-lg transition-all duration-300 text-center shadow-md hover:shadow-lg;
}

.btn-outline {
  @apply border-2 border-[#1b5a8b] text-[#1b5a8b] hover:bg-[#D3E4FD] font-semibold py-3 px-6 rounded-lg transition-all duration-300 text-center;
}

/* Improved section animations */
.fade-in-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.feature-card {
  @apply bg-white p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-300 border border-gray-200 hover:border-blue-200;
}

.section-title {
  @apply text-3xl md:text-4xl font-bold mb-4 text-gray-800;
}

.section-subtitle {
  @apply text-xl text-gray-700 max-w-3xl mx-auto mb-8;
}

.module-card {
  @apply bg-white p-6 rounded-xl shadow-sm hover:shadow-md transition-all duration-300 border border-gray-200 hover:border-blue-200;
  @apply flex flex-col items-center text-center;
  @apply transform transition-transform duration-300 hover:-translate-y-2;
}

.module-icon {
  @apply text-[#1b5a8b] mb-4;
}

.advantage-item {
  @apply flex items-start gap-3 mb-4;
}

.advantage-icon {
  @apply text-[#1b5a8b] mt-1;
}

/* Smooth scrolling for the whole page */
html {
  scroll-behavior: smooth;
}

/* Added focus styles for accessibility */
a:focus,
button:focus,
input:focus {
  @apply ring-2 ring-blue-400 outline-none;
}

/* Better tap targets on mobile */
@media (max-width: 768px) {
  button, 
  a {
    @apply min-h-[44px] min-w-[44px];
  }
}
