/* === v4.3 Safari mobile hardening ===
   Mobile Safari soffre molto con blur enormi, backdrop-filter, drop-shadow e coverflow 3D.
   Queste regole sono volutamente limitate al breakpoint mobile. */
@media (max-width: 991px) {
  #home .bg-shapes,
  .bg-shapes,
  .shape,
  #home .bg-shapes .shape {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
  }

  .nav-side ul,
  .nav-side ul::before {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .slider-home-img-desk img,
  .recensioni-slider .swiper-slide > div,
  .bnnr-top-slider > div img {
    filter: none !important;
    -webkit-filter: none !important;
  }

  .slider-home-img-mobile,
  .bannr-main-slider {
    overflow: hidden !important;
    contain: layout paint !important;
  }

  .bannr-main-slider,
  .bannr-main-slider .swiper-wrapper,
  .bannr-main-slider .swiper-slide {
    -webkit-transform-style: flat !important;
    transform-style: flat !important;
    perspective: none !important;
    -webkit-perspective: none !important;
  }

  .bannr-main-slider .swiper-slide {
    width: min(88vw, 390px) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 832 / 528 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    will-change: auto !important;
  }

  .swiper-3d,
  .swiper-3d .swiper-wrapper {
    perspective: none !important;
    -webkit-perspective: none !important;
    transform-style: flat !important;
    -webkit-transform-style: flat !important;
  }

  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    display: none !important;
    opacity: 0 !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 991px) {
    html, body {
      -webkit-text-size-adjust: 100%;
      overflow-x: hidden;
    }

    .bannr-main-slider .swiper-slide,
    .recensioni-slider .swiper-slide {
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
    }
  }
}

/* === v4.4 Safari: avoid square forced banner slides === */
@media (max-width: 991px) {
  .bannr-main-slider .swiper-slide {
    width: 100% !important;
    max-width: 390px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 832 / 528 !important;
    background-size: contain !important;
  }

  .bannr-main-slider .swiper-slide img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* === v4.5 iOS Safari emergency fallback === */
@media (max-width: 991px) {
  .is-ios-safari #home .bg-shapes,
  .is-ios-safari .bg-shapes,
  .is-ios-safari .shape {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
  }

  .is-ios-safari .bannr-main-slider.ios-native-banner {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
  }

  .is-ios-safari .bannr-main-slider.ios-native-banner .swiper-wrapper {
    display: flex !important;
    gap: 12px !important;
    transform: none !important;
    transition: none !important;
  }

  .is-ios-safari .bannr-main-slider.ios-native-banner .swiper-slide {
    flex: 0 0 88vw !important;
    max-width: 390px !important;
    scroll-snap-align: center !important;
    transform: none !important;
    opacity: 1 !important;
    background-image: none !important;
  }

  .is-ios-safari .bannr-main-slider .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}
