/* Base Styles */
body {
  background-color: #ffffff;
  color: #1f2937;
  overflow-x: hidden;
}

/* Animasi Reveal saat Scroll */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Styling Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #ffedd5;
}
::-webkit-scrollbar-thumb {
  background: #f97316;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: #c2410c;
}

/* Toast Notification */
#toast {
  visibility: hidden;
  min-width: 250px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 16px;
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  font-size: 14px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition:
    opacity 0.3s,
    bottom 0.3s;
}

#toast.show {
  visibility: visible;
  opacity: 1;
  bottom: 50px;
}

/* QR Scanner Line Effect */
.qr-container {
  position: relative;
  overflow: hidden;
}
.scanner-line {
  position: absolute;
  width: 100%;
  height: 4px;
  background: #f97316;
  box-shadow:
    0 0 10px #f97316,
    0 0 20px #f97316;
  animation: scan 2.5s linear infinite;
  z-index: 10;
}

/* Custom Blob Animation Utility */
@keyframes blob {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -50px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
  100% {
    transform: translate(0px, 0px) scale(1);
  }
}
.animate-blob {
  animation: blob 7s infinite;
}
.animation-delay-2000 {
  animation-delay: 2s;
}
