.elementor-320 .elementor-element.elementor-element-82db54f{--display:flex;--min-height:411px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-320 .elementor-element.elementor-element-82db54f:not(.elementor-motion-effects-element-type-background), .elementor-320 .elementor-element.elementor-element-82db54f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-320 .elementor-element.elementor-element-95a2fc3{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-320 .elementor-element.elementor-element-95a2fc3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-320 .elementor-element.elementor-element-8d9ca6d{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-320 .elementor-element.elementor-element-cf9615e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:28px 0px 28px 0px;text-align:left;}.elementor-320 .elementor-element.elementor-element-cf9615e img{width:39%;}.elementor-320 .elementor-element.elementor-element-32a3edf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:21px 10px;--row-gap:21px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:29px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-32a3edf.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-320 .elementor-element.elementor-element-24519fc{text-align:left;}.elementor-320 .elementor-element.elementor-element-24519fc .elementor-heading-title{font-family:"Lexend", Sans-serif;font-size:16px;font-weight:300;color:#FFFFFF73;}.elementor-320 .elementor-element.elementor-element-507a22e{text-align:left;}.elementor-320 .elementor-element.elementor-element-507a22e .elementor-heading-title{font-family:"Lexend", Sans-serif;font-size:16px;font-weight:300;color:#FFFFFF73;}.elementor-320 .elementor-element.elementor-element-82f039a .elementor-heading-title{font-family:"Lexend", Sans-serif;font-size:16px;font-weight:300;color:#FFFFFF73;}.elementor-320 .elementor-element.elementor-element-9a74f37 .elementor-heading-title{font-family:"Lexend", Sans-serif;font-size:16px;font-weight:300;color:#FFFFFF73;}.elementor-320 .elementor-element.elementor-element-5ee3bd3{--display:flex;--min-height:254px;--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;--justify-content:center;}.elementor-320 .elementor-element.elementor-element-887c506{--display:flex;}@media(min-width:768px){.elementor-320 .elementor-element.elementor-element-95a2fc3{--width:36.379%;}.elementor-320 .elementor-element.elementor-element-32a3edf{--width:29%;}.elementor-320 .elementor-element.elementor-element-5ee3bd3{--width:27%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for html, class: .elementor-element-8a7c50f *//* ========= BOTÃO BASE ========= */
.button {
  --black-700: hsla(0 0% 12% / 1);      /* tom escuro usado no fundo */
  --border_radius: 9999px;              /* bordas 100% arredondadas (pill) */
  --transtion: 0.3s ease-in-out;        /* velocidade padrão das transições */
  --offset: 2px;                        /* offset para animações de sombra */

  cursor: pointer;                      /* cursor tipo mãozinha */
  position: relative;                   /* contexto para ::before e ::after */
  display: flex;                        /* conteúdo em flex */
  align-items: center;                  /* centraliza verticalmente */
  gap: 0.5rem;                          /* espaço entre ícone e texto */
  transform-origin: center;             /* origem das transformações */
  padding: 1rem 2rem;                   /* espaçamento interno */
  background-color: transparent;        /* sem fundo fixo */
  border: none;                         /* sem borda nativa */
  border-radius: var(--border_radius);  /* arredondado */
  transform: scale(calc(1 + (var(--active, 0) * 0.05))); /* leve zoom no hover */
  transition: transform var(--transtion);
}

/* ========= CAMADA DE FUNDO (escura) ========= */
.button::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);     /* centraliza a pseudo-camada */

  width: 100%; height: 100%;
  background-color: var(--black-700);   /* fundo escuro */

  border-radius: var(--border_radius);
  /* sombras internas e externas */
  box-shadow:
    inset 0 0.5px hsl(0, 0%, 100%),      /* brilho interno em cima */
    inset 0 -1px 2px 0 hsl(0, 0%, 0%),   /* sombra interna em baixo */
    0px 4px 10px -4px hsla(0 0% 0% / calc(1 - var(--active, 0))), /* sombra externa */
    0 0 0 calc(var(--active, 0) * 0.375rem) hsla(0, 0%, 0%, 0);   /* glow no hover */

  transition: all var(--transtion);
  z-index: 0;                           /* atrás do conteúdo */
}

/* ========= CAMADA DE EFEITO (hover glow) ========= */
.button::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);

  width: 100%; height: 100%;
  background-color: hsla(0, 0%, 0%, 0.253); /* base translúcida */
  background-image: 
    radial-gradient(at 51% 89%, rgba(0, 0, 0, 0.267) 0px, transparent 50%),
    radial-gradient(at 100% 100%, rgba(0, 0, 0, 0.659) 0px, transparent 50%),
    radial-gradient(at 22% 91%, rgba(0, 0, 0, 0.593) 0px, transparent 50%);
  background-position: top;

  opacity: var(--active, 0);             /* só aparece no hover */
  border-radius: var(--border_radius);
  transition: opacity var(--transtion);
  z-index: 2;                           /* acima do ::before, abaixo do texto */
}

/* ========= HOVER ========= */
.button:is(:hover, :focus-visible) {
  --active: 1;   /* ativa as animações */
}
.button:active {
  transform: scale(1); /* remove o zoom ao clicar */
}

/* ========= BORDA GIRATÓRIA (decorativa) ========= */
.button .dots_border {
  --size_border: calc(100% + 2px);
  overflow: hidden;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: var(--size_border);
  height: var(--size_border);
  background-color: transparent;
  border-radius: var(--border_radius);
  z-index: -10;
}
.button .dots_border::before {
  content: "";
  position: absolute;
  top: 30%; left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: left;
  transform: rotate(0deg);

  width: 100%; height: 2rem;
  background-color: white;

  mask: linear-gradient(transparent 0%, white 120%);
  animation: rotate 2s linear infinite; /* rotação infinita */
}
@keyframes rotate {
  to { transform: rotate(360deg); }
}

/* ========= ÍCONE SPARKLE ========= */
.button .sparkle {
  position: relative;
  z-index: 10;
  width: 1.75rem;
}
.button .sparkle .path {
  fill: currentColor;
  stroke: currentColor;
  transform-origin: center;
  color: hsl(0, 0%, 100%); /* branco */
}
/* animação do ícone no hover */
.button:is(:hover, :focus) .sparkle .path {
  animation: path 1.5s linear 0.5s infinite;
}
.button .sparkle .path:nth-child(1) { --scale_path_1: 1.2; }
.button .sparkle .path:nth-child(2) { --scale_path_2: 1.2; }
.button .sparkle .path:nth-child(3) { --scale_path_3: 1.2; }
@keyframes path {
  0%, 34%, 71%, 100% { transform: scale(1); }
  17% { transform: scale(var(--scale_path_1, 1)); }
  49% { transform: scale(var(--scale_path_2, 1)); }
  83% { transform: scale(var(--scale_path_3, 1)); }
}

/* ========= TEXTO DO BOTÃO ========= */
.button .text_button {
  position: relative;
  z-index: 10;

  /* texto com gradiente branco → transparente (efeito "shine") */
  background-image: linear-gradient(
    90deg,
    hsla(0 0% 100% / 1) 0%,
    hsla(0 0% 100% / var(--active, 0)) 120%
  );
  background-clip: text;

  font-size: 16px;                /* 👈 atualizado para 16px */
  font-weight: 400;               /* 👈 atualizado para 400 */
  font-family: "Lexend", sans-serif; /* 👈 fonte Lexend */
  color: transparent;             /* usa o gradiente em vez de cor sólida */
}/* End custom CSS */