/* Hide scrollbar for Chrome, Safari and Opera */
::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
body {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;     /* Firefox */
  -webkit-font-smoothing: antialiased;
  /* Prevent overscroll behavior on iOS */
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Prevent overscroll for all elements */
* {
  overscroll-behavior: none;
}

/* Ensure accurate viewport height on iOS */
html {
  height: -webkit-fill-available;
}

body {
  min-height: -webkit-fill-available;
}

/* Prevent overscroll for main containers */
#main-content,
.parallax-section,
.overflow-y-auto {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Ensure the last section doesn't overscroll */
#company {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Prevent overscroll for mobile menu */
.overflow-y-auto {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Ensure safe area for iOS */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
    padding-top: max(0px, env(safe-area-inset-top));
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
}

/* Prevent overscroll for all sections */
.parallax-section {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Ensure accurate viewport height for mobile */
@media (max-width: 1023px) {
  html, body {
    height: 100vh;
    height: -webkit-fill-available;
    overflow: hidden;
  }
  
  #main-content {
    height: 100vh;
    height: -webkit-fill-available;
    overflow: hidden;
  }
}

.pb-safe-\[120px\] {
  padding-bottom: calc(120px + env(safe-area-inset-bottom));
}

@media (min-width: 768px) {
  .md\:pb-safe-\[160px\] {
    padding-bottom: calc(160px + env(safe-area-inset-bottom));
  }
}

/* Slideshow styles */
.slideshow-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
}

/* Ensure smooth fade transitions */
.slide img {
  transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Add subtle zoom effect during transition */
.slide.opacity-100 img {
  transform: scale(1.02);
}

.slide.opacity-0 img {
  transform: scale(1);
}