/* Custom Styles for RaagaFuzion Music School */

/* Import Tailwind via CDN - This will be loaded in HTML head */
/* Tailwind CDN is loaded via script tag in HTML */

/* Prevent FOUC - Critical styles */
body:not(.loaded) {
  visibility: hidden;
  overflow: hidden;
}
body.loaded {
  visibility: visible;
  overflow: visible;
}

/* Custom CSS Variables */
:root {
  --golden: #F8C630;
  --teal: #009485;
  --golden-foreground: #222222;
  --teal-light: #39c8b4;
  --teal-dark: #0f9684;
}

/* Golden and Teal Utility Classes */
.text-golden {
  color: var(--golden);
}

.bg-golden {
  background-color: var(--golden);
}

.text-teal {
  color: var(--teal);
}

.bg-teal {
  background-color: var(--teal);
}

.hover\:text-golden:hover {
  color: var(--golden);
}

.hover\:bg-golden:hover {
  background-color: var(--golden);
}

.hover\:bg-golden\/90:hover {
  background-color: rgba(212, 175, 55, 0.9);
}

.hover\:text-golden\/80:hover {
  color: rgba(212, 175, 55, 0.8);
}

.bg-golden\/20 {
  background-color: rgba(212, 175, 55, 0.2);
}

.bg-golden\/10 {
  background-color: rgba(212, 175, 55, 0.1);
}

.bg-golden\/5 {
  background-color: rgba(212, 175, 55, 0.05);
}

.border-golden {
  border-color: var(--golden);
}

.hover\:bg-teal:hover {
  background-color: var(--teal);
}

.hover\:bg-teal\/90:hover {
  background-color: rgba(20, 184, 166, 0.9);
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Image Loading Optimization */
img {
  transition: opacity 0.3s ease-in-out;
}

img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

img[loading="lazy"].loaded {
  opacity: 1;
}

/* Custom Animations */
@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}

@keyframes float-delay {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}

@keyframes float-slow {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 1s ease-out;
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

.animate-float-delay {
  animation: float-delay 4s ease-in-out infinite 1s;
}

.animate-float-slow {
  animation: float-slow 8s ease-in-out infinite 2s;
}

/* Responsive Image Handling */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Mobile Menu Animation */
#mobile-menu {
  transition: all 0.3s ease-in-out;
}

/* Modal Animation */
#enroll-modal {
  animation: fade-in 0.3s ease-out;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Header Styling */
#header {
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#header > nav {
  width: 100% !important;
  display: block !important;
}

/* Footer Styling */
#footer {
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: linear-gradient(to right, #1a1f2e, #0f766e) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer > footer {
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
  background: linear-gradient(to right, #1a1f2e, #0f766e) !important;
}