@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");
@import "tailwindcss";
@custom-variant dark (&:is(.dark *));

@theme inline {
  /* Map semantic utility colors to CSS variables */
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);

  /* Map specific OMS colors IF you want direct utilities like bg-oms-gold */
  /* If you only use semantic vars (like bg-primary), these aren't strictly needed here */
  --color-oms-gold: var(--oms-gold);
  --color-oms-black: var(--oms-black);
  --color-oms-white: var(--oms-white);
  --color-oms-light-gray: var(--oms-light-gray);

  /* Map font variables */
  --font-sans: var(--font-sans);

  /* Map radius variables */
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
}
:root {
  /* --- Font --- */
  --font-sans: "Poppins", sans-serif;

  /* --- Radius --- */
  --radius: 0.5rem; /* Example: Adjust OMS desired radius */

  /* --- Light Mode Colors --- */
  --background: #ffffff; /* White */
  --foreground: #000000; /* Black */
  --card: #ffffff;
  --card-foreground: #000000;
  --popover: #ffffff;
  --popover-foreground: #000000;
  --primary: #e1c44a; /* OMS Gold */
  --primary-foreground: #000000; /* Black Text on Gold */
  --secondary: #f8f9fa; /* OMS Light Gray */
  --secondary-foreground: #000000; /* Black Text on Light Gray */
  --muted: #f8f9fa; /* OMS Light Gray */
  --muted-foreground: #6c757d; /* Muted Gray Text */
  --accent: var(--primary); /* Use Primary Gold for Accent */
  --accent-foreground: var(
    --primary-foreground
  ); /* Use Black for Accent Text */
  --destructive: #dc3545; /* Example Red */
  --destructive-foreground: #ffffff; /* White Text on Red */
  --border: #dee2e6; /* Light Gray Border */
  --input: #dee2e6; /* Light Gray Input Border */
  --ring: var(--primary); /* Gold focus ring */

  /* --- Specific OMS Colors (Optional if Semantic is Enough) --- */
  --oms-gold: #e1c44a;
  --oms-black: #000000;
  --oms-white: #ffffff;
  --oms-light-gray: #f8f9fa;
}

.dark {
  /* --- Dark Mode Color Overrides --- */
  --background: #121212; /* Very Dark Gray/Black */
  --foreground: #e0e0e0; /* Light Gray Text */
  --card: #1e1e1e; /* Slightly Lighter Dark */
  --card-foreground: #e0e0e0;
  --popover: #1e1e1e;
  --popover-foreground: #e0e0e0;
  --primary: #e1c44a; /* Keep Gold */
  --primary-foreground: #000000; /* Keep Black Text on Gold */
  --secondary: #2a2a2a; /* Darker Gray */
  --secondary-foreground: #e0e0e0; /* Light Text */
  --muted: #2a2a2a;
  --muted-foreground: #a0a0a0; /* Dimmer Light Text */
  --accent: var(--primary); /* Keep Gold */
  --accent-foreground: var(--primary-foreground); /* Keep Black */
  --destructive: #842029; /* Darker Red */
  --destructive-foreground: #f8d7da; /* Lighter text on Dark Red */
  --border: #3a3a3a; /* Dark Border */
  --input: #3a3a3a;
  --ring: var(--primary); /* Keep Gold */

  /* --- Specific OMS Colors (Optional) --- */
  --oms-gold: #e1c44a;
  --oms-black: #000000;
  --oms-white: #ffffff;
  --oms-light-gray: #2a2a2a; /* Use Dark Gray */
}
@layer base {
  * {
    border-color: var(--border);
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    @apply flex flex-col min-h-screen;
  }
  main {
    @apply flex-grow;
  }
}

@layer components {
}

@layer utilities {
  .animation-delay-300 {
    animation-delay: 0.3s;
  }
  .animation-delay-600 {
    animation-delay: 0.6s;
  }
  @keyframes marquee-continuous {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  .animate-marquee-continuous {
    animation: marquee-continuous linear infinite;
    will-change: transform;
  }
  .group:hover .animate-marquee-continuous {
    animation-play-state: paused;
  }
}
/* Optional scale animation for background */
@keyframes floatSlightly {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes drift {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(5px, -5px) rotate(2deg);
  }
  50% {
    transform: translate(0, 0) rotate(0deg);
  }
  75% {
    transform: translate(-5px, 5px) rotate(-2deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes subtlePulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.85;
  }
}

/* --- Animation Utility Classes (Add if not already present) --- */
@layer utilities {
  .animate-float {
    animation: floatSlightly 6s ease-in-out infinite;
  }
  .animate-drift {
    animation: drift 15s ease-in-out infinite;
  }
  .animate-pulse-slow {
    animation: subtlePulse 5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }
  /* Keep existing animation delays */
  .animation-delay-300 {
    animation-delay: 0.3s;
  }
  .animation-delay-600 {
    animation-delay: 0.6s;
  }
  .animation-delay-900 {
    animation-delay: 0.9s;
  } /* Added longer delay */
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
  opacity: 0; /* Start hidden */
}
