/* Custom styles for LibertyX Bitcoin ATM */

/* Geometric shapes animation */
.geometric-shape {
  position: absolute;
  opacity: 0.1;
  animation: float 20s infinite ease-in-out;
}

.shape-1 {
  top: 10%;
  left: 10%;
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, #4ade80, #22c55e);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation-delay: 0s;
}

.shape-2 {
  top: 60%;
  right: 10%;
  width: 150px;
  height: 150px;
  background: linear-gradient(135deg, #3d6aff, #2b52d9);
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  animation-delay: -5s;
}

.shape-3 {
  bottom: 20%;
  left: 20%;
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #86efac, #4ade80);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  animation-delay: -10s;
}

.shape-4 {
  top: 30%;
  right: 25%;
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #90b3ff, #608fff);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation-delay: -15s;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-20px) rotate(5deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(20px) rotate(-5deg);
  }
}

/* Scroll reveal animations */
.scroll-reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #0d1a40;
}

::-webkit-scrollbar-thumb {
  background: #1c358a;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #2241af;
}

/* Mobile menu animation */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

#mobile-menu.open {
  max-height: 400px;
}

/* Button hover effects */
button, a {
  transition: all 0.3s ease;
}

/* Focus styles for accessibility */
a:focus, button:focus {
  outline: 2px solid #4ade80;
  outline-offset: 2px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .geometric-shape {
    animation: none;
  }
  
  .scroll-reveal {
    transition: none;
  }
  
  html {
    scroll-behavior: auto;
  }
}

/* Tablet and desktop adjustments */
@media (min-width: 768px) {
  .geometric-shape {
    opacity: 0.15;
  }
}

/* Large screen optimizations */
@media (min-width: 1280px) {
  .geometric-shape {
    opacity: 0.2;
  }
}
