  /*.hero-cta, .hero-cta *{ color:#fff !important; text-shadow:none; }*/
  /*.hero-cta .hero-title{ font-size:16px; line-height:1.25; margin:0; }*/
  /*.hero-cta .hero-sub{ font-size:12px; margin:4px 0 0; }*/
  /*.hero-cta .hero-actions .btn-prim{letter-spacing:6px;font-size:120%;
  }
*/



















/* ===== VSLIDER LIMPO (corrigido) ===== */

/* 0) Reset apenas nos CONTÊINERES (nunca em img/picture/video/canvas) */
.vslider .vslider-track,
.vslider .slide { all: unset; }

/* 1) Wrapper reserva altura estável (anti-CLS) */
.vslider{ position:relative; overflow:hidden; width:100%; }
.vslider::before{ content:""; display:block; padding-top:40.05%; }
@media (max-width:768px){ .vslider::before{ padding-top:54%; } }

/* 2) Trilho */
.vslider .vslider-track{
  position:absolute; inset:0;
  display:flex; will-change:transform;
  transform:translate3d(0,0,0);
}

/* 3) Cada slide ocupa 100% */
.vslider .vslider-track .slide{ position:relative; flex:0 0 100%; }

/* 4) Imagem/picture preenchem o viewport do slider — COM overflow fechado */
.vslider .vslider-track .slide picture,
.vslider .vslider-track .slide img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; display:block;
  overflow:hidden;           /* <= evita o aviso do PSI */
  /* opcional: contain:paint;  ajuda a não “vazar” em transições */
}












/* 5) CTA e legendas por cima — seus estilos continuam valendo */
.hero-cta{ position:absolute; z-index:4; left:6%; bottom:12%; max-width:820px; }
@media (max-width:1024px){
  .hero-cta{ left:50%; bottom:14%; transform:translateX(-50%); max-width:86vw; }
}

/* 6) Dots por cima e centralizados */
.vslider .vslider-nav{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:12px; z-index:5; display:flex; gap:10px; margin:0; padding:0;
}
.vslider .vslider-nav button{
  width:14px; height:14px; border-radius:50%; cursor:pointer; border:2px solid #fff;
  background:#1e73be; box-shadow:0 2px 8px rgba(0,0,0,.35);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.vslider .vslider-nav button[aria-current="true"]{
  background:#2890ff; transform:scale(1.12);
}

/* 7) Setas por cima (opcional) */
.vslider .prev, .vslider .next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; background:transparent; cursor:pointer; z-index:5;
  text-decoration:none !important;
}
.vslider .prev{ left:8px;}
.vslider .next{ right:8px;}
.icon-anterior::before, .icon-proximo::before{
  font-family:"icomoon" !important; content:""; display:block;
  width:44px; height:44px; line-height:44px; text-align:center; font-size:26px; color:#fff;
  text-shadow:0 0 4px rgba(0,0,0,.45);
}
.icon-anterior::before{ content:"\e90c";margin-left:-6px;}
.icon-proximo::before{ content:"\e90d";margin-left:-5px;}
.vslider .prev::after, .vslider .next::after{
  content:""; position:absolute; inset:0; border-radius:50%; background:rgba(0,0,0,.25);
}

/* 8) Acessibilidade */
.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}












/* legenda do slide (h2) — reaparece e fica sobre a imagem */
.vslider .slide .slide-desc{
  position:absolute;
  left:6%;
  bottom:14%;
  z-index:4;
  max-width:36%;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  border-radius:12px;
  padding:12px 16px;
  text-shadow:none;
  color:#333;
}
.vslider .slide .slide-desc h2{
  margin:0;
  font-weight:600;
  line-height:1.25;
  font-size:clamp(18px,2vw,28px);
}

/* mobile: caixa mais larga e centralizada */
@media (max-width: 600px){
  .vslider .slide .slide-desc{
    left:5%;
    right:5%;
    bottom:20%;
    max-width:none;
    text-align:center;
    padding:8px 10px;
  }
  .vslider .slide .slide-desc h2{font-size:14px; }
}







/* CTA geral (desktop já ok); mobile precisa do painel escuro e fontes menores */
@media (max-width: 600px){
  .hero-cta{
    left:50%;
    bottom:14%;
    transform:translateX(-50%);
    max-width:86vw;
    text-align:center;
    background:rgba(0,0,0,.48);
    border-radius:12px;
    padding:10px 12px;
    color:#fff;
  }
  .hero-cta, .hero-cta *{ color:#fff !important; text-shadow:none; }
  .hero-cta .hero-title{ font-size:16px; line-height:1.25; margin:0; }
  .hero-cta .hero-sub{ font-size:12px; margin:4px 0 0; }
  .hero-cta .hero-actions .btn-prim{
    font-size:12px;
    padding:8px 12px;
    border-radius:999px;
    white-space:nowrap;
    display:inline-block;
  }
}






/* suaviza a troca (slide horizontal) */
.vslider .vslider-track{
  transition: transform .55s ease; /* pode ajustar a duração/easing */
}



@media (max-width:400px){
  .hero-cta{ margin-left:0 }
}






/* 5) CTA e legendas por cima — AJUSTE: z-index maior para não ficar atrás da slide-desc */
.hero-cta{
  position:absolute;
  z-index:6;              /* era 4 */
  left:6%;
  bottom:12%;
  max-width:820px;
}

/* <= 1024px mantém centralizado como já estava */
@media (max-width:1024px){
  .hero-cta{ left:50%; bottom:14%; transform:translateX(-50%); max-width:86vw; }
}

/* ===== MOBILE TWEAKS ===== */
@media (max-width:800px){

  /* Orçamento — mais largo/legível e sempre visível por cima */
  .hero-cta{
    left:50%;
    transform:translateX(-50%);
    max-width:92vw;               /* +largura que 86vw */
    background:rgba(0,0,0,.48);   /* um pouco mais escuro para contraste */
    padding:12px 14px;
    display:block;
    color:#fff;
  }
  .hero-cta .hero-title{ color:#fff; }


  /* H2 da legenda — mais espaço e fonte maior */
  .vslider .slide .slide-desc{
    left:5%; right:5%; bottom:22%;
    max-width:none;
    text-align:center;
    padding:12px 14px;            /* caixa maior */
  }
  .vslider .slide .slide-desc h2{
    font-size:clamp(18px, 6vw, 28px); /* até ~2x do que estava (14px) */
    line-height:1.3;
  }
}

/* Telefones estreitos (<=400px): centraliza o Orçamento por left/right e remove translate */
@media (max-width:400px){
  .hero-cta{
    left:5%;
    right:5%;
    transform:none;
    max-width:none;               /* ocupa a faixa entre 5% e 5% */
    text-align:center;
  }






}


@media (max-width:460px){
    .vslider .slide .slide-desc{margin-left:45px;width:66%;}
    .vslider .slide .slide-desc h2{font-size:15px;}
}

@media only screen and (min-width:480px) and (max-width:600px){
    .vslider .slide .slide-desc h2{font-size:20px; }
}

@media only screen and (min-width:601px) and (max-width:700px){
    .vslider .slide .slide-desc h2{font-size:22px; }
}









.hero-cta .hero-actions .btn-prim{letter-spacing:6px;font-size:120%;
  }




@media (max-width:400px){
  .hero-cta .hero-actions .btn-prim{letter-spacing:3px;font-size:80%;}
}


