/**
 * ASOR mobile — #acm-features-129 carousel orizzontale (foto 3 / Joomla)
 * NON forzare transform sul .swiper-wrapper (rompe swipe e click pallini).
 */
@media (max-width: 991px) {
  html.itemid-101 section.wrap.t3-sections > .section-inner:first-of-type,
  body.itemid-101 section.wrap.t3-sections > .section-inner:first-of-type,
  body.asor-home section.wrap.t3-sections > .section-inner:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
    background-color: #243b55 !important;
    background: #495d6a !important;
  }

  html.itemid-101 .wrap.t3-sections,
  body.itemid-101 .wrap.t3-sections,
  body.asor-home .wrap.t3-sections {
    margin-top: -52px !important;
    padding-top: 0 !important;
    background-color: #243b55 !important;
    background: #495d6a !important;
  }

  html.itemid-101 #acm-features-129,
  body.itemid-101 #acm-features-129,
  body.asor-home #acm-features-129,
  #acm-features-129 {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 20px !important;
    overflow: visible !important;
    background-color: transparent !important;
    background: transparent !important;
  }

  html.itemid-101 #acm-features-129 .container,
  body.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: -28px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  html.itemid-101 #acm-features-129 .relative,
  body.itemid-101 #acm-features-129 .relative {
    overflow: visible !important;
    margin-top: 0 !important;
    width: 100% !important;
    position: relative !important;
    z-index: 5 !important;
  }

  html.itemid-101 #acm-features-129 .swiper-container,
  html.itemid-101 #acm-features-129 .swiper-container.swiper-container-horizontal,
  body.itemid-101 #acm-features-129 .swiper-container,
  body.asor-home #acm-features-129 .swiper-container {
    width: 100% !important;
    height: auto !important;
    min-height: 240px !important;
    overflow: hidden !important;
    padding-bottom: 12px !important;
    box-sizing: border-box !important;
    touch-action: pan-y !important;
  }

  /* Flex row — NON impostare transform (gestito da Swiper JS) */
  html.itemid-101 #acm-features-129 .swiper-wrapper,
  html.itemid-101 #acm-features-129 .swiper-wrapper.equal-height,
  body.itemid-101 #acm-features-129 .swiper-wrapper,
  body.asor-home #acm-features-129 .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  html.itemid-101 .acm-features.style-1 .swiper-slide,
  html.itemid-101 #acm-features-129 .swiper-slide,
  html.itemid-101 #acm-features-129 .swiper-slide.asor-129-slide,
  body.itemid-101 #acm-features-129 .swiper-slide,
  body.asor-home #acm-features-129 .swiper-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    float: none !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    background-color: transparent !important;
    background: transparent !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
  }

  /* Fallback se JS in ritardo: una card visibile (wrapper 4×100%, overflow hidden sul container) */
  html.itemid-101 #acm-features-129 .swiper-container,
  body.itemid-101 #acm-features-129 .swiper-container,
  body.asor-home #acm-features-129 .swiper-container {
    overflow: hidden !important;
  }

  html.itemid-101 #acm-features-129 .swiper-slide > a,
  body.itemid-101 #acm-features-129 .swiper-slide > a,
  body.asor-home #acm-features-129 .swiper-slide > a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    pointer-events: auto !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
  }

  /* Foto card — come Joomla (max-width 70% della slide) */
  html.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  html.itemid-101 #acm-features-129 .asor-129-photo img.features-image,
  body.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129 .asor-129-photo img.features-image {
    width: auto !important;
    max-width: 70% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  html.itemid-101 #acm-features-129 .swiper-container.swiper-container-horizontal,
  body.itemid-101 #acm-features-129 .swiper-container.swiper-container-horizontal,
  body.asor-home #acm-features-129 .swiper-container.swiper-container-horizontal {
    height: unset !important;
    min-height: 0 !important;
  }

  html.itemid-101 #acm-features-129.acm-features.style-1 .features-item,
  body.itemid-101 #acm-features-129.acm-features.style-1 .features-item,
  body.asor-home #acm-features-129.acm-features.style-1 .features-item,
  html.itemid-101 #acm-features-129 .asor-129-label.features-item,
  body.asor-home #acm-features-129 .asor-129-label.features-item {
    width: 300px !important;
    max-width: min(300px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    margin: -10px auto 10px auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px 6px 16px !important;
    background-color: #243b55 !important;
    background: #495d6a !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  html.itemid-101 #acm-features-129 .asor-129-slide,
  body.asor-home #acm-features-129 .asor-129-slide {
    text-align: center !important;
  }

  html.itemid-101 #acm-features-129 .asor-129-photo,
  body.asor-home #acm-features-129 .asor-129-photo,
  html.itemid-101 #acm-features-129 .asor-129-slide {
    background: transparent !important;
    background-color: transparent !important;
  }

  html.itemid-101 #acm-features-129.acm-features.style-1 .features-title,
  body.itemid-101 #acm-features-129.acm-features.style-1 .features-title {
    margin-top: -10px !important;
    color: #c29032 !important;
    font-family: "Playfair Display", Georgia, serif !important;
  }

  html.itemid-101 #acm-features-129 .swiper-slide .count,
  body.itemid-101 #acm-features-129 .swiper-slide .count {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    background-color: #1a8f3c !important;
    border: 2px solid #0d6b2a !important;
    color: #fff !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }

  html.itemid-101 #acm-features-129 .swiper-pagination,
  body.itemid-101 #acm-features-129 .swiper-pagination,
  body.asor-home #acm-features-129 .swiper-pagination {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    margin-top: 10px !important;
    margin-bottom: 4px !important;
    padding: 6px 0 !important;
    z-index: 20 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  html.itemid-101 #acm-features-129 .swiper-pagination-bullet,
  body.itemid-101 #acm-features-129 .swiper-pagination-bullet {
    pointer-events: auto !important;
    cursor: pointer !important;
    opacity: 1 !important;
  }

  html.itemid-101 #acm-features-129 .swiper-pagination-bullet-active,
  body.itemid-101 #acm-features-129 .swiper-pagination-bullet-active {
    background-color: #c29032 !important;
    border-color: #c29032 !important;
  }
}

@media (max-width: 505px) {
  html.itemid-101 .wrap.t3-sections,
  body.itemid-101 .wrap.t3-sections,
  body.asor-home .wrap.t3-sections {
    margin-top: -88px !important;
  }

  html.itemid-101 #acm-features-129,
  body.itemid-101 #acm-features-129,
  body.asor-home #acm-features-129 {
    margin-top: 0 !important;
  }

  html.itemid-101 #acm-features-129 .container,
  body.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: -56px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  html.itemid-101 #acm-features-129 .swiper-container,
  body.itemid-101 #acm-features-129 .swiper-container {
    min-height: 320px !important;
  }

  html.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129.acm-features.style-1 .features-image {
    max-width: 65% !important;
  }
}

/* Ripristino layout foto 2 — carousel sotto al testo hero (overlap Joomla) */
@media (min-width: 992px) {
  html.itemid-101.home #acm-features-129 .container,
  html.itemid-101 #acm-features-129 .container,
  body.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: -310px !important;
    padding-top: 0 !important;
  }

  html.itemid-101.home #acm-features-129 .relative,
  html.itemid-101 #acm-features-129 .relative,
  body.itemid-101 #acm-features-129 .relative,
  body.asor-home #acm-features-129 .relative {
    margin-top: 10px !important;
  }

  html.itemid-101.home #acm-slideshow-89 h1.item-title,
  body.asor-home #acm-slideshow-89 h1.item-title,
  html.itemid-101 #acm-slideshow-89 h1.item-title {
    margin-bottom: 10px !important;
  }

  html.itemid-101.home #acm-slideshow-89 p.item-desc,
  body.asor-home #acm-slideshow-89 p.item-desc,
  html.itemid-101 #acm-slideshow-89 p.item-desc {
    margin-top: 16px !important;
    margin-bottom: 10px !important;
    line-height: 1.58 !important;
  }

  html.itemid-101.home .wrap.t3-slideshow,
  body.asor-home .wrap.t3-slideshow,
  html.itemid-101 .wrap.t3-slideshow {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html.itemid-101.home #acm-features-129,
  body.asor-home #acm-features-129,
  body.itemid-101 #acm-features-129 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (min-width: 360px) and (max-width: 480px) {
  html.itemid-101 #acm-features-129 .container,
  body.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: -200px !important;
  }

  html.itemid-101 #acm-features-129,
  body.itemid-101 #acm-features-129,
  body.asor-home #acm-features-129 {
    margin-top: 100px !important;
    padding-top: 0 !important;
  }
}
