/* Banner principal - setas e indicadores no estilo solicitado */
.banner-home .swiper-container{
  position:relative;
}

.banner-home .swiper-button-prev,
.banner-home .swiper-button-next{
  width:44px;
  height:44px;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  border:1px solid rgba(9,42,99,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  top:50%;
  margin-top:-22px;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.banner-home .swiper-button-prev:hover,
.banner-home .swiper-button-next:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

.banner-home .swiper-button-prev{
  left:18px;
}

.banner-home .swiper-button-next{
  right:18px;
}

.banner-home .swiper-button-prev::after,
.banner-home .swiper-button-next::after{
  font-size:15px;
  font-weight:700;
  color:#173b86;
}

.banner-home .swiper-container .dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  margin:0;
  z-index:6;
}

.banner-home .swiper-container .dots .dot{
  width:42px;
  margin:0;
  padding:0;
}

.banner-home .swiper-container .dots .dot::after{
  content:"";
  display:block;
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:none;
  opacity:1;
  transition:all .2s ease;
}

.banner-home .swiper-container .dots .dot-active::after{
  background:#ff2b3a;
}

@media (max-width: 767px){
  .banner-home .swiper-button-prev,
  .banner-home .swiper-button-next{
    display:flex !important;
    width:38px;
    height:38px;
    margin-top:-19px;
  }

  .banner-home .swiper-button-prev{left:10px;}
  .banner-home .swiper-button-next{right:10px;}

  .banner-home .swiper-button-prev::after,
  .banner-home .swiper-button-next::after{
    font-size:13px;
  }

  .banner-home .swiper-container .dots{
    bottom:10px;
    gap:6px;
  }

  .banner-home .swiper-container .dots .dot{
    width:26px;
  }

  .banner-home .swiper-container .dots .dot::after{
    height:5px;
  }
}


/* AIO SAFE DYNAMIC BANNER 2026-09-22
   Evita zoom/corte gigante ao trocar a imagem no editor. */
.banner-home.aio-dynamic-home-banner{
  width:100%!important;
  aspect-ratio:1920/550!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#eef5f7!important;
}
.banner-home.aio-dynamic-home-banner .swiper-container,
.banner-home.aio-dynamic-home-banner .swiper-wrapper,
.banner-home.aio-dynamic-home-banner .swiper-slide,
.banner-home.aio-dynamic-home-banner .slide__item,
.banner-home.aio-dynamic-home-banner .slide__item__image{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
.banner-home.aio-dynamic-home-banner .slide__item__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef5f7!important;
  overflow:hidden!important;
}
.banner-home.aio-dynamic-home-banner .slide__item__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-position:center center!important;
  transform:none!important;
}
.banner-home.aio-dynamic-home-banner[data-aio-dynamic-fit="contain"] .slide__item__image img{
  object-fit:contain!important;
}
.banner-home.aio-dynamic-home-banner[data-aio-dynamic-fit="cover"] .slide__item__image img{
  object-fit:cover!important;
}
/* O Banner Dinâmico usa a própria arte; não reaproveita títulos/botões antigos do Full Banner. */
.banner-home.aio-dynamic-home-banner .slide__item__content{
  display:none!important;
}
@media(max-width:767px){
  .banner-home.aio-dynamic-home-banner{
    aspect-ratio:1080/1350!important;
    background:#eef5f7!important;
  }
}

/* AIO FINAL SAFE DYNAMIC BANNER - fixed viewport height, never full-page */
.banner-home.aio-dynamic-home-banner{
  height:clamp(260px,28.65vw,550px)!important;
  min-height:260px!important;
  max-height:550px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.banner-home.aio-dynamic-home-banner .swiper-container,
.banner-home.aio-dynamic-home-banner .swiper-wrapper,
.banner-home.aio-dynamic-home-banner .swiper-slide,
.banner-home.aio-dynamic-home-banner .slide__item,
.banner-home.aio-dynamic-home-banner .slide__item__image{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:550px!important;
  overflow:hidden!important;
}
.banner-home.aio-dynamic-home-banner .slide__item__image img,
.banner-home.aio-dynamic-home-banner[data-aio-dynamic-fit="cover"] .slide__item__image img,
.banner-home.aio-dynamic-home-banner[data-aio-dynamic-fit="contain"] .slide__item__image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
@media(max-width:767px){
  .banner-home.aio-dynamic-home-banner{
    height:clamp(360px,105vw,620px)!important;
    min-height:360px!important;
    max-height:620px!important;
  }
  .banner-home.aio-dynamic-home-banner .swiper-container,
  .banner-home.aio-dynamic-home-banner .swiper-wrapper,
  .banner-home.aio-dynamic-home-banner .swiper-slide,
  .banner-home.aio-dynamic-home-banner .slide__item,
  .banner-home.aio-dynamic-home-banner .slide__item__image{max-height:620px!important}
}
