/* Landing Page Styles */

/* Logo Animation - Efek Rotasi + Zoom-in + Glow */
.logo-text {
  opacity: 0;
  transform: scale(0.8) rotate(-10deg);
  animation: logoEnter 0.8s ease-out forwards;
  letter-spacing: 0.5px;
}

.logo-dot {
  opacity: 0;
  animation: dotAppear 0.4s ease-out forwards;
}

@keyframes dotAppear {
  to {
    opacity: 1;
  }
}

@keyframes logoEnter {
  to {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

.logo-text.glow {
  animation: glowPulse 2s ease-in-out infinite alternate;
}

@keyframes glowPulse {
  from {
    text-shadow: 0 0 5px rgba(0, 162, 255, 0.4);
  }
  to {
    text-shadow: 0 0 15px rgba(0, 162, 255, 0.8);
  }
}

/* Typing Effect - Efek Ketik-mengetik untuk text yang sama */
.type-text {
  display: inline-block;
  border-right: 2px solid #333;
  white-space: nowrap;
  overflow: hidden;
  opacity: 0;
  transform: translateY(20px);
  animation: textFadeIn 0.6s ease-out 0.9s forwards;
  /* Prevent layout shift during animation */
  min-height: 1.2em;
  line-height: inherit;
  font-size: inherit;
  font-weight: inherit;
}

@keyframes textFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Cursor blink animation */
.type-text.typing {
  border-right-color: transparent;
}

@keyframes blink {
  0%, 50% { 
    border-right-color: #333; 
  }
  51%, 100% { 
    border-right-color: transparent; 
  }
}

.type-text.typing {
  animation: blink 1s infinite;
}

/* Marquee Animation for Trusted Companies */
@keyframes marquee-full {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-marquee-full {
  animation: marquee-full 30s linear infinite;
}

/* Scrollbar Hide Utility */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Carousel Styles */
.carousel {
  scroll-snap-type: x mandatory;
}

.carousel-item {
  scroll-snap-align: start;
}

/* Testimonial Carousel Controls */
#testimonial-indicators button {
  background-color: #EAECF0;
  transition: background-color 0.3s ease;
}

#testimonial-indicators button.bg-primary {
  background-color: var(--primary-color, #00A2FF);
}

/* Button States */
.btn-circle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.btn-circle:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Hover Effects */
.hover\:shadow-2xl:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.hover\:scale-105:hover {
  transform: scale(1.05);
}

.hover\:-translate-y-1:hover {
  transform: translateY(-0.25rem);
}

/* Transition Utilities */
.transition-all {
  transition: all 0.3s ease;
}

.transition-shadow {
  transition: box-shadow 0.3s ease;
}

.transition-transform {
  transition: transform 0.3s ease;
}

.transition-colors {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

/* Duration Utilities */
.duration-300 {
  transition-duration: 300ms;
}

/* Transform Utilities */
.transform {
  transform: translateZ(0);
}

/* Hover Border Effects */
.hover\:border-primary\/20:hover {
  border-color: rgba(0, 162, 255, 0.2);
}
