/* ============================================
   SHARED STYLES - Grasshopper IT Solutions
   ============================================ */

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0a0a0a;
}
::-webkit-scrollbar-thumb {
  background: #1e1e1e;
  border: 1px solid #00ff41;
}

/* Neon text effect */
.neon-text {
  text-shadow:
    0 0 5px rgba(0, 255, 65, 0.5),
    0 0 10px rgba(0, 255, 65, 0.3);
}

/* Glass card effect */
.glass-card {
  background: rgba(21, 21, 21, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Glitch text effect */
.glitch-wrapper {
  position: relative;
}
.glitch-wrapper::before,
.glitch-wrapper::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0a0a0a;
}
.glitch-wrapper::before {
  left: 2px;
  text-shadow: -1px 0 #00ff41;
  clip: rect(24px, 550px, 90px, 0);
  animation: glitch-anim-2 3s infinite linear alternate-reverse;
}
.glitch-wrapper::after {
  left: -2px;
  text-shadow: -1px 0 #00dbde;
  clip: rect(85px, 550px, 140px, 0);
  animation: glitch-anim 2.5s infinite linear alternate-reverse;
}
@keyframes glitch-anim {
  0% { clip: rect(11px, 9999px, 86px, 0); }
  100% { clip: rect(48px, 9999px, 73px, 0); }
}
@keyframes glitch-anim-2 {
  0% { clip: rect(65px, 9999px, 100px, 0); }
  100% { clip: rect(32px, 9999px, 45px, 0); }
}

/* Notification Toast */
#notification-toast {
  transform: translateY(100px);
  transition: transform 0.3s ease-out;
}
#notification-toast.show {
  transform: translateY(0);
}

/* Hide scrollbar for carousel but allow functionality */
.carousel-scroll::-webkit-scrollbar {
  display: none;
}
.carousel-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Fade in animation */
.animate-fade-in {
  animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Float animation */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.animate-float {
  animation: float 3s ease-in-out infinite;
}

/* Pulse slow */
@keyframes pulse-slow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.animate-pulse-slow {
  animation: pulse-slow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Cursor Blink - for terminal/typing UIs */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
.cursor-blink {
  animation: blink 1s infinite;
}

/* Neon Pulse Glow - for featured cards / CTAs */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 15px rgba(0, 255, 65, 0.2); border-color: rgba(0, 255, 65, 0.3); }
  50% { box-shadow: 0 0 25px rgba(0, 255, 65, 0.5); border-color: rgba(0, 255, 65, 0.8); }
}
.neon-pulse-glow {
  animation: pulse-glow 3s infinite;
}
