/* Shockwave Hero Slider 1.5.1 clean - Apple glass mobile bottom fix */
.swh-hero-slider{
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  aspect-ratio:1920/823!important;
  height:auto!important;
  overflow:hidden!important;
  background:#000!important;
  clear:both!important;
}

.swh-hero-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}

.swh-hero-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:1!important;
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1), visibility 0s linear 1.05s!important;
  will-change:opacity!important;
}

.swh-hero-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:3!important;
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1), visibility 0s!important;
}

.swh-hero-slide.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  pointer-events:none!important;
  z-index:2!important;
  transition:opacity 1.05s cubic-bezier(.55,.06,.68,.19)!important;
}

.swh-hero-slide picture,
.swh-hero-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}

.swh-hero-slide img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Desktop */
.swh-hero-content{
  position:absolute!important;
  top:50%!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  width:680px!important;
  min-height:420px!important;
  max-width:calc(100vw - 96px)!important;
  max-height:calc(100% - 80px)!important;
  padding:64px 64px!important;
  margin:0!important;
  background:rgba(255,255,255,.80)!important;
  background-image:none!important;
  color:#000!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  z-index:10!important;
}

.swh-hero-content::before,
.swh-hero-content::after{
  display:none!important;
  content:none!important;
}

.swh-hero-eyelet,
.swh-hero-title,
.swh-hero-content h2,
.swh-hero-content p{
  color:#000!important;
}

.swh-hero-eyelet{
  display:block!important;
  margin:0 0 10px!important;
}

.swh-hero-title,
.swh-hero-content h2{
  margin:0 0 18px!important;
  font-family:var(--swh-title-font,'Barlow Condensed',Arial,sans-serif)!important;
  font-size:var(--swh-title-size,66px)!important;
  line-height:.96!important;
  font-weight:var(--swh-title-weight,600)!important;
  text-transform:var(--swh-title-transform,uppercase)!important;
  letter-spacing:-.01em!important;
  word-spacing:-.04em!important;
}

.swh-hero-content p{
  margin:0 0 24px!important;
  font-family:var(--swh-subtitle-font,'Red Hat Display',Arial,sans-serif)!important;
  font-size:var(--swh-subtitle-size,20px)!important;
  font-weight:var(--swh-subtitle-weight,400)!important;
  line-height:1.25!important;
}

.swh-hero-btn,
.swh-hero-content a.swh-hero-btn,
.swh-hero-content a.shockwave-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 30px!important;
  background:#000!important;
  color:#fff!important;
  border:0!important;
  outline:0!important;
  border-radius:30px!important;
  text-decoration:none!important;
  box-shadow:none!important;
  font-family:var(--swh-button-font,'Red Hat Display',Arial,sans-serif)!important;
  font-size:var(--swh-button-size,17px)!important;
  font-weight:var(--swh-button-weight,600)!important;
  text-transform:var(--swh-button-transform,uppercase)!important;
  letter-spacing:.04em!important;
}

.swh-hero-btn:hover,
.swh-hero-btn:focus{
  background:#000!important;
  color:#fff!important;
  border:0!important;
  outline:0!important;
}

/* Frecce eliminate */
.swh-hero-arrow,
.swh-hero-prev,
.swh-hero-next{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Desktop: bullet verticali */
.swh-hero-nav{
  position:absolute!important;
  top:50%!important;
  right:24px!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  z-index:60!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

.swh-hero-dots{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

.swh-hero-dots button{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #000!important;
  border-radius:999px!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  opacity:1!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer!important;
  outline:none!important;
}

.swh-hero-dots button::before{
  display:none!important;
  content:none!important;
}

.swh-hero-dots button::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
}

.swh-hero-dots button.is-active::after{
  background:#CCFF00!important;
}

/* Animazione testi */
.swh-hero-slide .swh-hero-title,
.swh-hero-slide .swh-hero-content h2,
.swh-hero-slide .swh-hero-content p,
.swh-hero-slide .swh-hero-content a.swh-hero-btn{
  opacity:0!important;
  transform:translateY(18px)!important;
  transition:opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1)!important;
  will-change:opacity,transform!important;
}

.swh-hero-slide.is-active .swh-hero-title,
.swh-hero-slide.is-active .swh-hero-content h2{
  opacity:1!important;
  transform:translateY(0)!important;
  transition-delay:.18s!important;
}

.swh-hero-slide.is-active .swh-hero-content p{
  opacity:1!important;
  transform:translateY(0)!important;
  transition-delay:.34s!important;
}

.swh-hero-slide.is-active .swh-hero-content a.swh-hero-btn{
  opacity:1!important;
  transform:translateY(0)!important;
  transition-delay:.50s!important;
}

.swh-hero-slide.is-leaving .swh-hero-title,
.swh-hero-slide.is-leaving .swh-hero-content h2,
.swh-hero-slide.is-leaving .swh-hero-content p,
.swh-hero-slide.is-leaving .swh-hero-content a.swh-hero-btn{
  opacity:0!important;
  transform:translateY(-10px)!important;
  transition-delay:0s!important;
}

@media(max-width:1199px){
  .swh-hero-content{
    width:600px!important;
    min-height:390px!important;
    padding:58px 58px!important;
  }
}

@media(max-width:991px){
  .swh-hero-content{
    width:540px!important;
    min-height:360px!important;
    max-width:calc(100vw - 88px)!important;
    padding:52px 52px!important;
  }

  .swh-hero-nav{
    right:20px!important;
  }
}

/* Mobile: immagine sopra, blocco sotto Apple glass */
@media(max-width:767px){
  .swh-hero-slider{
    aspect-ratio:auto!important;
    margin-bottom:0!important;
    height:700px!important;
    min-height:700px!important;
    overflow:hidden!important;
    background:transparent!important;
  }

  .swh-hero-track,
  .swh-hero-slide{
    height:700px!important;
    background:transparent!important;
  }

  .swh-hero-slide picture,
  .swh-hero-slide img{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:390px!important;
  }

  .swh-hero-slide img{
    object-fit:cover!important;
    object-position:center center!important;
  }

  .swh-hero-content{
    position:absolute!important;
    top:390px!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    height:310px!important;
    min-height:310px!important;
    max-height:none!important;
    padding:50px 28px 74px!important;
    margin:0!important;
    color:#000!important;
    box-sizing:border-box!important;
    justify-content:center!important;
    align-items:flex-start!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:rgba(246,247,248,.62)!important;
    -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
    backdrop-filter:blur(22px) saturate(150%)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
  }

  .swh-hero-content::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:-70px!important;
    z-index:-3!important;
    background-image:var(--swh-mobile-bg)!important;
    background-size:cover!important;
    background-position:center bottom!important;
    filter:blur(42px) saturate(145%) brightness(1.08)!important;
    transform:scale(1.24)!important;
    opacity:.72!important;
  }

  .swh-hero-content::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:-2!important;
    background:
      radial-gradient(circle at 18% 0%, rgba(255,255,255,.72), rgba(255,255,255,0) 42%),
      linear-gradient(135deg, rgba(255,255,255,.76), rgba(226,229,232,.48) 48%, rgba(255,255,255,.58))!important;
  }

  .swh-hero-title,
  .swh-hero-content h2{
    font-size:clamp(34px,9vw,44px)!important;
    line-height:1!important;
    margin:0 0 12px!important;
    font-weight:600!important;
    letter-spacing:-.01em!important;
    word-spacing:-.04em!important;
  }

  .swh-hero-content p{
    font-size:clamp(16px,4.2vw,19px)!important;
    line-height:1.28!important;
    margin:0 0 18px!important;
  }

  .swh-hero-btn,
  .swh-hero-content a.swh-hero-btn,
  .swh-hero-content a.shockwave-btn{
    padding:11px 24px!important;
    font-size:14px!important;
  }

  .swh-hero-nav{
    position:absolute!important;
    top:auto!important;
    right:auto!important;
    bottom:26px!important;
    left:0!important;
    width:100%!important;
    transform:none!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border-radius:0!important;
    z-index:80!important;
    box-sizing:border-box!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .swh-hero-dots{
    flex-direction:row!important;
    gap:12px!important;
    background:transparent!important;
  }

  .swh-hero-dots button{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    min-height:14px!important;
    max-width:14px!important;
    max-height:14px!important;
    aspect-ratio:1/1!important;
    border:1px solid rgba(0,0,0,.78)!important;
    border-radius:50%!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
  }

  .swh-hero-dots button::after{
    width:5px!important;
    height:5px!important;
    border-radius:50%!important;
  }

  .swh-hero-dots button.is-active::after{
    background:#CCFF00!important;
  }
}

@media(max-width:420px){
  .swh-hero-slider,
  .swh-hero-track,
  .swh-hero-slide{
    height:670px!important;
    min-height:670px!important;
    background:transparent!important;
  }

  .swh-hero-slide picture,
  .swh-hero-slide img{
    height:360px!important;
  }

  .swh-hero-content{
    top:360px!important;
    height:310px!important;
    min-height:310px!important;
    padding:50px 24px 74px!important;
  }

  .swh-hero-nav{
    bottom:26px!important;
    background:transparent!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .swh-hero-slide,
  .swh-hero-slide .swh-hero-title,
  .swh-hero-slide .swh-hero-content h2,
  .swh-hero-slide .swh-hero-content p,
  .swh-hero-slide .swh-hero-content a.swh-hero-btn{
    transition:none!important;
  }
}
