.elementor-10956 .elementor-element.elementor-element-b1f207e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10956 .elementor-element.elementor-element-a1147e3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-a04183a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-ab64d9a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-04e8660{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-b4d71b8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10956 .elementor-element.elementor-element-1e86812{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-fd3048e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-26c7d94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10956 .elementor-element.elementor-element-43a9793{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-10956 .elementor-element.elementor-element-a1147e3{--width:25%;}.elementor-10956 .elementor-element.elementor-element-a04183a{--width:25%;}.elementor-10956 .elementor-element.elementor-element-ab64d9a{--width:25%;}.elementor-10956 .elementor-element.elementor-element-04e8660{--width:25%;}.elementor-10956 .elementor-element.elementor-element-1e86812{--width:25%;}.elementor-10956 .elementor-element.elementor-element-fd3048e{--width:25%;}.elementor-10956 .elementor-element.elementor-element-26c7d94{--width:25%;}.elementor-10956 .elementor-element.elementor-element-43a9793{--width:25%;}}/* Start custom CSS for html, class: .elementor-element-616096b *//* Só o botão */
.btn-animado{
  position: relative;
  display: inline-block;
  padding: 20px 40px;
  overflow: hidden;

  background: linear-gradient(-30deg, #3d0b0b 50%, #2b0808 50%);
  color: #f7d4d4;
  font-size: 20px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;

  box-shadow: 0 20px 50px rgba(0,0,0,.5);
}

.btn-animado::before{
  content: "";
  position: absolute;
  inset: 0;
  background: #ad8585;
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.btn-animado:hover::before{
  opacity: .2;
}

.btn-animado span{
  position: absolute;
}

/* topo */
.btn-animado span:nth-child(1){
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, rgba(43,8,8,0), #d92626);
  animation: animateTop 2s linear infinite;
}

/* direita */
.btn-animado span:nth-child(2){
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to top, rgba(43,8,8,0), #d92626);
  animation: animateRight 2s linear -1s infinite;
}

/* baixo */
.btn-animado span:nth-child(3){
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, rgba(43,8,8,0), #d92626);
  animation: animateBottom 2s linear infinite;
}

/* esquerda */
.btn-animado span:nth-child(4){
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, rgba(43,8,8,0), #d92626);
  animation: animateLeft 2s linear -1s infinite;
}

/* animações */
@keyframes animateTop{
  0%{ transform: translateX(100%); }
  100%{ transform: translateX(-100%); }
}

@keyframes animateRight{
  0%{ transform: translateY(100%); }
  100%{ transform: translateY(-100%); }
}

@keyframes animateBottom{
  0%{ transform: translateX(-100%); }
  100%{ transform: translateX(100%); }
}

@keyframes animateLeft{
  0%{ transform: translateY(-100%); }
  100%{ transform: translateY(100%); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1204d34 */.btn-glow{
  position: relative;
  width: 220px;
  height: 50px;
  border: none;
  border-radius: 10px;

  background: #111;
  color: #fff;
  font-size: 14px;
  letter-spacing: 1px;
  cursor: pointer;

  z-index: 0;
}

/* glow animado */
.btn-glow::before{
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;

  background: linear-gradient(
    45deg,
    #ff0000,
    #ff7300,
    #fffb00,
    #48ff00,
    #00ffd5,
    #002bff,
    #7a00ff,
    #ff00c8,
    #ff0000
  );

  background-size: 400%;
  filter: blur(5px);
  opacity: 0;
  transition: opacity .3s ease-in-out;
  border-radius: 12px;

  animation: glow 20s linear infinite;
}

/* fundo interno do botão */
.btn-glow::after{
  content: "";
  position: absolute;
  inset: 0;
  background: #111;
  border-radius: 10px;
  z-index: -1;
}

.btn-glow:hover::before{
  opacity: 1;
}

.btn-glow:active{
  color: #000;
}

/* animação */
@keyframes glow{
  0% { background-position: 0 0; }
  50% { background-position: 400% 0; }
  100% { background-position: 0 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-80733df */.btn-fill{
  position: relative;
  display: inline-block;
  padding: 12px 28px;

  border-radius: 50px;
  overflow: hidden;

  background: #0cf;
  color: #fff;

  text-transform: uppercase;
  font-size: 16px;
  letter-spacing: 2px;
  text-decoration: none;

  transition: color .3s ease;
  z-index: 1;
}

/* camada que "entra" no hover */
.btn-fill::before{
  content: "";
  position: absolute;
  inset: 0;
  width: 0%;
  background: #0099b3; /* versão mais escura do #0cf */
  border-radius: 50px;
  transition: width .3s ease;
  z-index: -1;
}

/* fundo base */
.btn-fill::after{
  content: "";
  position: absolute;
  inset: 0;
  background: #0cf;
  border-radius: 50px;
  z-index: -2;
}

.btn-fill:hover{
  color: #fff;
}

.btn-fill:hover::before{
  width: 100%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d51b1ad */.btn-svg{
  position: relative;
  width: 180px;
  height: 60px;

  cursor: pointer;
  border: none;
  background: #2f6fb0; /* fundo inicial (visível) */
  color: #fff;

  font-family: Arial, sans-serif;
  letter-spacing: 2px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

.btn-svg span{
  position: relative;
  z-index: 1;
  font-size: 16px;
  font-weight: 300;
}

/* SVG da borda */
.btn-border{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;

  fill: none;
  stroke: #fff;
  stroke-width: 2;

  stroke-dasharray: 150 480;
  stroke-dashoffset: 150;
  transition: stroke-dashoffset 1s ease-in-out;
}

/* hover */
.btn-svg:hover{
  background: #4F95DA;
}

.btn-svg:hover .btn-border{
  stroke-dashoffset: -480;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-520c49e */.btn-slide{
  position: relative;
  display: inline-block;

  width: 200px;
  height: 40px;
  line-height: 40px;

  font-family: Arial, sans-serif;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;

  color: #333;
  border: 2px solid #333;
  overflow: hidden;

  transition: color .35s ease;
}

.btn-slide span{
  position: relative;
  z-index: 1;
}

.btn-slide::after{
  content: "";
  position: absolute;
  inset: 0;
  width: 0%;
  background: #ff003b;
  transition: width .35s ease;
}

.btn-slide:hover{
  color: #fff;
}

.btn-slide:hover::after{
  width: 100%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-72d321b */.btn-reflexo{
  position: relative;
  display: inline-block;

  width: 160px;
  height: 45px;
  line-height: 45px;

  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 2px;
  font-size: 16px;
  font-family: Arial, sans-serif;

  color: #fff;
  background: #E1332D;          /* 🔴 fundo visível */
  border: 1px solid #fff;
  overflow: hidden;
}

/* texto acima do efeito */
.btn-reflexo span{
  position: relative;
  z-index: 2;
}

/* faixa de brilho diagonal */
.btn-reflexo::after{
  content: "";
  position: absolute;
  top: -50px;
  left: -75px;

  width: 50px;
  height: 155px;

  background: #fff;
  opacity: 0.25;

  transform: rotate(35deg);
  transition: left 550ms cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

/* animação no hover */
.btn-reflexo:hover::after{
  left: 120%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84b57bf */.btn-next{
  display: inline-flex;
  align-items: center;
  gap: 30px;

  padding: 10px 45px;
  text-decoration: none;

  font-family: Arial, sans-serif; /* sem @import */
  font-size: 40px;
  font-weight: 900;
  color: #fff;

  background: #6225E6;
  box-shadow: 6px 6px 0 #000;

  transform: skewX(-15deg);
  transition: box-shadow .5s ease, transform .5s ease;
}

.btn-next:focus{
  outline: none;
}

.btn-next:hover{
  box-shadow: 10px 10px 0 #FBC638;
}

/* desfaz o skew no texto/ícone */
.btn-next .btn-text,
.btn-next .btn-icon{
  transform: skewX(15deg);
}

/* posicionamento do ícone */
.btn-next .btn-icon{
  width: 20px;
  position: relative;
  top: 12%;
  transition: margin-right .5s ease;
  margin-right: 0;
}

/* empurra no hover */
.btn-next:hover .btn-icon{
  margin-right: 45px;
}

/* animações das setas */
.btn-next path.one{
  transition: transform .4s ease;
  transform: translateX(-60%);
}

.btn-next path.two{
  transition: transform .5s ease;
  transform: translateX(-30%);
}

.btn-next:hover path.one{
  transform: translateX(0%);
  animation: color_anim 1s infinite .6s;
}

.btn-next:hover path.two{
  transform: translateX(0%);
  animation: color_anim 1s infinite .4s;
}

.btn-next:hover path.three{
  animation: color_anim 1s infinite .2s;
}

@keyframes color_anim{
  0%{ fill: #fff; }
  50%{ fill: #FBC638; }
  100%{ fill: #fff; }
}/* End custom CSS */