/* =============================================
   Base Carousel Layout
   - Simplified to avoid horizontal overflow on very small devices
   - Removed negative margin hack (caused sideways scroll on some mobiles)
   - Removed default CSS animation (now controlled by JS in js/carousel.js)
   - Fallback animation only when JS is disabled (html.no-js)
============================================= */
.carousel_a1b2c3 {
  width: 100%;
  height: 100vh; /* fallback */
  height: 100dvh; /* dynamic viewport (Chrome/Safari modern) */
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  z-index: 1;
  background: #000; /* avoid white flashes during address bar collapse */
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.carousel_a1b2c3.carousel-mobile {
  /* Explicit mobile track height using small/large viewport units for better iOS behavior */
  height: 100svh; /* small viewport (iOS Safari when UI visible) */
  min-height: 100svh;
  max-height: 100lvh; /* large viewport */
  padding-top: env(safe-area-inset-top, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.carouselTrack_d4e5f6 {
  display: flex;
  height: 100%;
  will-change: transform;
}

.carouselTrack_d4e5f6 img {
  width: 100vw; /* JS recalculates width per slide */
  height: 100%;
  object-fit: cover;
  object-position: center center;
  flex-shrink: 0;
  backface-visibility: hidden;
}

/* Fallback animation ONLY when JS is disabled (optional) */
html.no-js .carouselTrack_d4e5f6 {
  animation: slideAnimation_g7h8i9 14s infinite;
}

@keyframes slideAnimation_g7h8i9 {
  0% { transform: translateX(0); }
  48% { transform: translateX(0); }
  52% { transform: translateX(-100vw); }
  100% { transform: translateX(-100vw); }
}

/* Ajustes específicos para o carrossel mobile em telas menores: ocupar a tela inteira */
@media (max-width: 768px) {
  .carousel_a1b2c3 {
    /* Let desktop version shrink a bit on medium phones when assigned as desktop (safety) */
    max-height: 85vh;
  }
  .carousel_a1b2c3.carousel-mobile {
    height: 100svh;
    min-height: 100svh;
  }
  .carousel_a1b2c3.carousel-mobile .carouselTrack_d4e5f6 img {
    height: 100%;
  }
}

@media (max-width: 480px) {
  .carousel_a1b2c3.carousel-mobile {
    /* Extra small devices sometimes show address bar overlays; keep image centered */
    object-position: center top;
  }
}

/* Landscape very short heights (e.g., mobile landscape) */
@media (max-height: 440px) and (orientation: landscape) {
  .carousel_a1b2c3.carousel-mobile {
    max-height: 440px;
  }
  .carouselTrack_d4e5f6 img {
    object-position: center center;
  }
}
