/* Lateris Group - Custom Styles */

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

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

::-webkit-scrollbar-track {
  background: #f8f9fa;
}

::-webkit-scrollbar-thumb {
  background: #c4c4c4;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a0a0a0;
}

/* Focus styles for accessibility */
*:focus-visible {
  outline: 2px solid #c9a227;
  outline-offset: 2px;
}

/* Service card expanded state */
.service-card.expanded .service-details {
  display: block;
}

.service-card.expanded .toggle-text {
  display: none;
}

.service-card.expanded .toggle-icon {
  transform: rotate(90deg);
}

/* Animation for service card toggle */
.service-details {
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile menu animation */
#mobile-menu {
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Form success animation */
.form-success {
  animation: scaleIn 0.4s ease-out;
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Button loading state */
button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Navbar shadow on scroll */
.navbar-scrolled {
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
}

/* Hero section gradient overlay (optional) */
.hero-gradient {
  background: linear-gradient(135deg, rgba(30, 58, 95, 0.03) 0%, rgba(201, 162, 39, 0.03) 100%);
}

/* Industry card hover effect */
#industries .bg-white\/10:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

/* Demo card hover effect */
#demos .bg-white:hover {
  transform: translateY(-2px);
}

/* Smooth transitions for interactive elements */
a, button {
  transition: all 0.2s ease;
}

/* Contact form input focus glow */
input:focus, textarea:focus {
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.1);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .text-4xl {
    font-size: 2rem;
  }

  .text-5xl {
    font-size: 2.5rem;
  }

  .text-6xl {
    font-size: 3rem;
  }
}

/* Print styles */
@media print {
  nav, footer, #contact form {
    display: none;
  }

  section {
    page-break-inside: avoid;
  }
}
