/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Navigation active state underline */
.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background: currentColor;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.nav-link:hover::after {
  transform: scaleX(1);
}

/* Hamburger animation */
.hamburger:active .hamburger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.hamburger:active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.hamburger:active .hamburger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* Mobile nav item hover animation */
.nav-item-mobile {
  position: relative;
  overflow: hidden;
}

.nav-item-mobile::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 0;
  background: linear-gradient(to bottom, #F59E0B, #EF4444);
  transform: translateY(-50%);
  transition: height 0.3s ease;
  border-radius: 0 4px 4px 0;
}

.nav-item-mobile:hover::before {
  height: 70%;
}

/* Gradient text animation */
@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
    /* Cultural Pattern Backgrounds */
    .indian-pattern {
      background-image: 
        radial-gradient(circle at 25% 25%, #f97316 2px, transparent 2px),
        radial-gradient(circle at 75% 75%, #ef4444 1px, transparent 1px);
      background-size: 40px 40px;
    }

    .japanese-pattern {
      background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%236366f1' fill-opacity='0.05'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    /* Animations */
    @keyframes slideInLeft {
      from { transform: translateX(-100%); opacity: 0; }
      to { transform: translateX(0); opacity: 1; }
    }

    @keyframes slideInRight {
      from { transform: translateX(100%); opacity: 0; }
      to { transform: translateX(0); opacity: 1; }
    }

    @keyframes fadeInUp {
      from { transform: translateY(50px); opacity: 0; }
      to { transform: translateY(0); opacity: 1; }
    }

    @keyframes scrollUp {
      0% { transform: translateY(100%); }
      100% { transform: translateY(-100%); }
    }

    @keyframes zen-pulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.05); opacity: 0.9; }
    }

    .slide-in-left { animation: slideInLeft 0.8s ease-out; }
    .slide-in-right { animation: slideInRight 0.8s ease-out; }
    .fade-in-up { animation: fadeInUp 0.6s ease-out; }
    .scroll-up { animation: scrollUp 25s linear infinite; }
    .zen-pulse { animation: zen-pulse 3s ease-in-out infinite; }

    /* Hero Slider */
    .hero-slider {
      background: linear-gradient(135deg, #f97316 0%, #6366f1 50%, #22c55e 100%);
    }

    .hero-slide {
      display: none;
      background-size: cover;
      background-position: center;
    }

    .hero-slide.active {
      display: block;
    }

/* Mobile Nav Transitions */
.mobile-nav {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-overlay {
  transition: opacity 0.3s ease;
}

    /* Value Cards */
    .value-card {
      background: linear-gradient(145deg, #ffffff 0%, #f0fdf4 100%);
      border-top: 4px solid transparent;
      position: relative;
      overflow: hidden;
      transition: all 0.4s ease;
    }

    .value-card.indian {
      border-top-color: #f97316;
    }

    .value-card.japanese {
      border-top-color: #6366f1;
    }

    .value-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.15);
    }

/* Notice Board */
.notice-board {
  background: linear-gradient(180deg, #fff8eb 0%, #ffebc6 100%);
  border: 3px solid #f97316;
}

.notice-item {
  background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%);
  border-left: 4px solid #f97316;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 1rem;
  box-shadow: 0 2px 8px rgb(249 115 22 / 0.1);
}

    /* Testimonial Cards */
    .testimonial-card {
      background: linear-gradient(145deg, #ffffff 0%, #fef2f2 100%);
      border-left: 4px solid #ef4444;
      position: relative;
      transition: all 0.3s ease;
    }

    .testimonial-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 40px -12px rgb(239 68 68 / 0.15);
    }

/* Hamburger Menu Animation */
.hamburger {
  cursor: pointer;
}

.hamburger.active .hamburger-line:nth-child(1) {
  transform: translateY(0.5rem) rotate(45deg);
}

.hamburger.active .hamburger-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger.active .hamburger-line:nth-child(3) {
  transform: translateY(-0.5rem) rotate(-45deg);
}

/* Mobile Nav Transitions */
.mobile-nav {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-overlay {
  transition: opacity 0.3s ease;
}


/* Hero Slider Enhancements */
.hero-slide {
  transition: opacity 0.8s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
}

/* Background Image Zoom Animation */
.hero-slide.active > div[class*="bg-cover"] {
  animation: heroZoom 10s ease-out forwards;
}

@keyframes heroZoom {
  from { transform: scale(1); }
  to { transform: scale(1.1); }
}

/* Text Animations */
.slide-in-left {
  animation: slideInLeft 0.8s ease-out;
}

.slide-in-right {
  animation: slideInRight 0.8s ease-out 0.2s both;
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Text Shadows for Better Readability */
.drop-shadow-2xl {
  text-shadow: 0 8px 16px rgba(0, 0, 0, 0.6);
}

.drop-shadow-lg {
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}

/* Slider Dot Active State */
.slider-dot {
  transition: all 0.3s ease;
}

.slider-dot.active {
  transform: scale(1.3);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}

/* Backdrop Blur for Buttons */
.backdrop-blur-sm {
  backdrop-filter: blur(4px);
}

/* Responsive Height Adjustment */
@media (max-width: 768px) {
  .hero-slider {
    height: 500px !important;
  }
}

@media (max-width: 480px) {
  .hero-slider {
    height: 450px !important;
  }
}
