.elementor-257 .elementor-element.elementor-element-718c1fc2{--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;--align-items:center;--padding-top:120px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-257 .elementor-element.elementor-element-3a1b537e{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;text-align:center;font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:400;line-height:37px;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-257 .elementor-element.elementor-element-d4ee4eb{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-257 .elementor-element.elementor-element-21d7fa9{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-257 .elementor-element.elementor-element-53380bac{--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;--padding-top:40px;--padding-bottom:40px;--padding-left:15px;--padding-right:15px;}.elementor-257 .elementor-element.elementor-element-70924e54{--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;}.elementor-257 .elementor-element.elementor-element-323be83e{--display:flex;}.elementor-257 .elementor-element.elementor-element-6ed5713e{--display:flex;}.elementor-257 .elementor-element.elementor-element-3d8a5917{--display:flex;}.elementor-257 .elementor-element.elementor-element-715aa2f8{--display:flex;}.elementor-257 .elementor-element.elementor-element-2104c51d{--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;}.elementor-257 .elementor-element.elementor-element-a81f9e8{--display:flex;}.elementor-257 .elementor-element.elementor-element-4ea33f37{--display:flex;}.elementor-257 .elementor-element.elementor-element-5431b1ed{--display:flex;}.elementor-257 .elementor-element.elementor-element-3a071b30{--display:flex;}.elementor-257 .elementor-element.elementor-element-56e28250{--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;}.elementor-257 .elementor-element.elementor-element-76966b6e{--display:flex;}.elementor-257 .elementor-element.elementor-element-48d3bccd{--display:flex;}.elementor-257 .elementor-element.elementor-element-e73d36{--display:flex;}.elementor-257 .elementor-element.elementor-element-395d9186{--display:flex;}.elementor-257 .elementor-element.elementor-element-7eb4a0d5{--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;}.elementor-257 .elementor-element.elementor-element-6fdb6817{--display:flex;}.elementor-257 .elementor-element.elementor-element-46da0f28{--display:flex;}.elementor-257 .elementor-element.elementor-element-35e717e7{--display:flex;}.elementor-257 .elementor-element.elementor-element-2dde86d6{--display:flex;}.elementor-257 .elementor-element.elementor-element-11d35ba4{--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;}.elementor-257 .elementor-element.elementor-element-164edf2e{--display:flex;}.elementor-257 .elementor-element.elementor-element-24e1411c{--display:flex;}.elementor-257 .elementor-element.elementor-element-2edfd7eb{--display:flex;}.elementor-257 .elementor-element.elementor-element-bf65304{--display:flex;}body.elementor-page-257:not(.elementor-motion-effects-element-type-background), body.elementor-page-257 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}@media(min-width:768px){.elementor-257 .elementor-element.elementor-element-d4ee4eb{--width:32%;}.elementor-257 .elementor-element.elementor-element-21d7fa9{--width:22%;}.elementor-257 .elementor-element.elementor-element-323be83e{--width:30%;}.elementor-257 .elementor-element.elementor-element-6ed5713e{--width:30%;}.elementor-257 .elementor-element.elementor-element-3d8a5917{--width:30%;}.elementor-257 .elementor-element.elementor-element-715aa2f8{--width:30%;}.elementor-257 .elementor-element.elementor-element-a81f9e8{--width:30%;}.elementor-257 .elementor-element.elementor-element-4ea33f37{--width:30%;}.elementor-257 .elementor-element.elementor-element-5431b1ed{--width:30%;}.elementor-257 .elementor-element.elementor-element-3a071b30{--width:30%;}.elementor-257 .elementor-element.elementor-element-76966b6e{--width:30%;}.elementor-257 .elementor-element.elementor-element-48d3bccd{--width:30%;}.elementor-257 .elementor-element.elementor-element-e73d36{--width:30%;}.elementor-257 .elementor-element.elementor-element-395d9186{--width:30%;}.elementor-257 .elementor-element.elementor-element-6fdb6817{--width:30%;}.elementor-257 .elementor-element.elementor-element-46da0f28{--width:30%;}.elementor-257 .elementor-element.elementor-element-35e717e7{--width:30%;}.elementor-257 .elementor-element.elementor-element-2dde86d6{--width:30%;}.elementor-257 .elementor-element.elementor-element-164edf2e{--width:30%;}.elementor-257 .elementor-element.elementor-element-24e1411c{--width:30%;}.elementor-257 .elementor-element.elementor-element-2edfd7eb{--width:30%;}.elementor-257 .elementor-element.elementor-element-bf65304{--width:30%;}}@media(max-width:767px){.elementor-257 .elementor-element.elementor-element-3a1b537e{line-height:1.3em;}}/* Start custom CSS for button, class: .elementor-element-3a93b68 *//* Botão com Textura Granulada (Noise) */
.elementor-257 .elementor-element.elementor-element-3a93b68 .elementor-button {
    /* O gradiente de fundo */
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 8px;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: none;
    box-shadow: 0 10px 20px rgba(118, 75, 162, 0.4);
    transition: 0.3s;
}

/* A camada de ruído (TV Chiado) feita com CSS puro */
.elementor-257 .elementor-element.elementor-element-3a93b68 .elementor-button::before {
    content: "";
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background-image: repeating-radial-gradient(
        #000 0 0.0001%, 
        #fff 0 0.0002%
    ); /* Simula pixels */
    background-size: 5px 5px; /* Tamanho do grão */
    opacity: 0.07; /* Sutileza do efeito */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-3a93b68 .elementor-button:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 30px rgba(118, 75, 162, 0.6);
    filter: brightness(1.1);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8042756 *//* Botão com Textura Granulada (Noise) */
.elementor-257 .elementor-element.elementor-element-8042756 .elementor-button {
    /* O gradiente de fundo */
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 8px;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: none;
    box-shadow: 0 10px 20px rgba(118, 75, 162, 0.4);
    transition: 0.3s;
}

/* A camada de ruído (TV Chiado) feita com CSS puro */
.elementor-257 .elementor-element.elementor-element-8042756 .elementor-button::before {
    content: "";
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background-image: repeating-radial-gradient(
        #000 0 0.0001%, 
        #fff 0 0.0002%
    ); /* Simula pixels */
    background-size: 5px 5px; /* Tamanho do grão */
    opacity: 0.07; /* Sutileza do efeito */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-8042756 .elementor-button:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 30px rgba(118, 75, 162, 0.6);
    filter: brightness(1.1);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c92ce53 *//* Botão Estilo Scanlines VHS */
.elementor-257 .elementor-element.elementor-element-c92ce53 .elementor-button {
    background: #111;
    color: #00ff00; /* Verde terminal antigo */
    border: 1px solid #00ff00;
    border-radius: 4px;
    font-family: monospace;
    font-weight: bold;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
    z-index: 1;
}

/* As linhas da TV */
.elementor-257 .elementor-element.elementor-element-c92ce53 .elementor-button::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    background: linear-gradient(
        to bottom,
        rgba(18, 16, 16, 0) 50%,
        rgba(0, 0, 0, 0.25) 50%
    );
    background-size: 100% 4px; /* Espessura das linhas */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-c92ce53 .elementor-button:hover {
    background: #00ff00;
    color: #000;
    box-shadow: 0 0 20px #00ff00;
    text-shadow: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-d893977 *//* Botão Estilo Scanlines VHS */
.elementor-257 .elementor-element.elementor-element-d893977 .elementor-button {
    background: #111;
    color: #00ff00; /* Verde terminal antigo */
    border: 1px solid #00ff00;
    border-radius: 4px;
    font-family: monospace;
    font-weight: bold;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
    z-index: 1;
}

/* As linhas da TV */
.elementor-257 .elementor-element.elementor-element-d893977 .elementor-button::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    background: linear-gradient(
        to bottom,
        rgba(18, 16, 16, 0) 50%,
        rgba(0, 0, 0, 0.25) 50%
    );
    background-size: 100% 4px; /* Espessura das linhas */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-d893977 .elementor-button:hover {
    background: #00ff00;
    color: #000;
    box-shadow: 0 0 20px #00ff00;
    text-shadow: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7a03d4f7 *//* Botão com Seta Oculta que Desliza */
.elementor-257 .elementor-element.elementor-element-7a03d4f7 .elementor-button {
    background: #2980b9; /* Azul Confiante */
    color: white;
    border-radius: 6px;
    font-weight: 700;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding-right: 20px; /* Espaço normal */
    overflow: hidden;
}

/* A seta (ícone criado via CSS) */
.elementor-257 .elementor-element.elementor-element-7a03d4f7 .elementor-button::after {
    content: "→";
    position: absolute;
    right: -20px; /* Começa escondida fora do botão */
    opacity: 0;
    font-size: 20px;
    transition: all 0.3s ease;
}

.elementor-257 .elementor-element.elementor-element-7a03d4f7 .elementor-button:hover {
    background: #3498db;
    padding-right: 45px; /* Abre espaço na direita */
    transform: translateX(-5px); /* Move o botão levemente */
}

.elementor-257 .elementor-element.elementor-element-7a03d4f7 .elementor-button:hover::after {
    right: 20px; /* Seta entra na área visível */
    opacity: 1;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1cb55525 *//* Botão Metálico Platina */
.elementor-257 .elementor-element.elementor-element-1cb55525 .elementor-button {
    /* Gradiente metálico complexo */
    background: linear-gradient(
        to bottom, 
        #f2f2f2 0%, 
        #d4d4d4 50%, 
        #aaaaaa 51%, 
        #e0e0e0 100%
    );
    color: #333; /* Texto escuro para contraste */
    border: 1px solid #999;
    border-radius: 4px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0 1px 0 rgba(255,255,255,0.8);
    box-shadow: 
        0 5px 15px rgba(0,0,0,0.15), 
        inset 0 1px 0 rgba(255,255,255,1);
    transition: all 0.2s;
}

.elementor-257 .elementor-element.elementor-element-1cb55525 .elementor-button:hover {
    filter: brightness(1.05); /* Brilha mais */
    transform: translateY(-2px);
    box-shadow: 
        0 8px 20px rgba(0,0,0,0.25), 
        inset 0 1px 0 rgba(255,255,255,1);
}

.elementor-257 .elementor-element.elementor-element-1cb55525 .elementor-button:active {
    background: linear-gradient(to bottom, #d4d4d4 0%, #aaaaaa 100%);
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.2);
    transform: translateY(1px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-35cc45d3 *//* Botão Dark com Glow Interno Pulsante */
.elementor-257 .elementor-element.elementor-element-35cc45d3 .elementor-button {
    background-color: transparent;
    color: #fff;
    border: 2px solid #00d2ff; /* Ciano Neon */
    border-radius: 50px;
    font-weight: 700;
    box-shadow: 
        0 0 10px rgba(0, 210, 255, 0.2), 
        inset 0 0 20px rgba(0, 210, 255, 0.2);
    transition: 0.4s;
    animation: inner-pulse 2s infinite ease-in-out;
}

.elementor-257 .elementor-element.elementor-element-35cc45d3 .elementor-button:hover {
    background-color: #00d2ff;
    color: #000; /* Inverte a cor */
    box-shadow: 
        0 0 40px rgba(0, 210, 255, 0.6), 
        inset 0 0 10px rgba(0,0,0,0.5);
    transform: scale(1.05);
    animation: none; /* Para de pulsar e foca no brilho */
}

@keyframes inner-pulse {
    0% { box-shadow: 0 0 10px rgba(0, 210, 255, 0.2), inset 0 0 10px rgba(0, 210, 255, 0.1); }
    50% { box-shadow: 0 0 20px rgba(0, 210, 255, 0.5), inset 0 0 30px rgba(0, 210, 255, 0.4); }
    100% { box-shadow: 0 0 10px rgba(0, 210, 255, 0.2), inset 0 0 10px rgba(0, 210, 255, 0.1); }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-182d94c3 *//* Botão Sólido de Segurança */
.elementor-257 .elementor-element.elementor-element-182d94c3 .elementor-button {
    background-color: #27ae60;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 18px;
    padding: 18px 40px;
    /* Sombra projetada para baixo */
    box-shadow: 0 4px 0 #1e8449; 
    transition: all 0.2s;
    margin-bottom: 5px;
}

.elementor-257 .elementor-element.elementor-element-182d94c3 .elementor-button:hover {
    transform: translateY(-2px); /* Sobe um pouco */
    box-shadow: 0 6px 0 #1e8449; /* Sombra aumenta para compensar */
}

.elementor-257 .elementor-element.elementor-element-182d94c3 .elementor-button:active {
    transform: translateY(4px); /* Desce (clique) */
    box-shadow: 0 0 0 #1e8449; /* Sombra some */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-36f42862 *//* Botão com Reflexo de Luz Angular */
.elementor-257 .elementor-element.elementor-element-36f42862 .elementor-button {
    background: #e74c3c; /* Vermelho Oferta */
    color: white;
    border: none;
    border-radius: 5px;
    font-weight: 800;
    text-transform: uppercase;
    position: relative;
    overflow: hidden; /* Corta o excesso de luz */
    z-index: 1;
    transition: 0.3s;
}

/* O facho de luz */
.elementor-257 .elementor-element.elementor-element-36f42862 .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    /* Gradiente transparente -> branco -> transparente */
    background: linear-gradient(
        120deg, 
        transparent, 
        rgba(255,255,255,0.4), 
        transparent
    );
    transition: 0.5s;
}

.elementor-257 .elementor-element.elementor-element-36f42862 .elementor-button:hover {
    background: #c0392b; /* Escurece levemente o fundo */
    box-shadow: 0 10px 20px rgba(192, 57, 43, 0.4);
}

.elementor-257 .elementor-element.elementor-element-36f42862 .elementor-button:hover::before {
    left: 100%; /* A luz atravessa o botão */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5065c4c *//* Botão onde o Texto é uma Janela para o Fundo */
.elementor-257 .elementor-element.elementor-element-5065c4c .elementor-button {
    background: transparent; /* Sem fundo no botão */
    border: 2px solid #ff0080; /* Borda sólida para delimitar */
    border-radius: 8px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    /* A mágica do texto recortado */
    background-image: linear-gradient(
        to right, 
        #ff0080, 
        #ff8c00, 
        #40e0d0, 
        #ff0080
    );
    background-size: 200% auto;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; /* Torna o texto transparente */
    
    transition: 0.5s;
}

.elementor-257 .elementor-element.elementor-element-5065c4c .elementor-button:hover {
    /* Anima o gradiente dentro do texto */
    background-position: right center;
    box-shadow: 0 5px 15px rgba(255, 0, 128, 0.3);
    transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-23cdef31 *//* Botão com Efeito de Sonar/Radar no Hover */
.elementor-257 .elementor-element.elementor-element-23cdef31 .elementor-button {
    background: #00b894; /* Verde Água Sólido */
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

/* Criação dos anéis (pseudo-elementos) */
.elementor-257 .elementor-element.elementor-element-23cdef31 .elementor-button::before,
.elementor-257 .elementor-element.elementor-element-23cdef31 .elementor-button::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    border: 2px solid #00b894;
    border-radius: 50px;
    opacity: 0; /* Invisível inicialmente */
    z-index: -1;
}

.elementor-257 .elementor-element.elementor-element-23cdef31 .elementor-button:hover::before {
    animation: sonar-effect 1.5s infinite ease-out;
}

.elementor-257 .elementor-element.elementor-element-23cdef31 .elementor-button:hover::after {
    /* O segundo anel começa com atraso */
    animation: sonar-effect 1.5s 0.4s infinite ease-out;
}

@keyframes sonar-effect {
    0% { width: 100%; height: 100%; opacity: 0.8; }
    100% { width: 200%; height: 250%; opacity: 0; } /* Expande e desaparece */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-71d182f4 *//* Botão Dividido Diagonalmente */
.elementor-257 .elementor-element.elementor-element-71d182f4 .elementor-button {
    /* Gradiente com parada brusca (hard stop) para criar a divisão */
    background: linear-gradient(
        135deg, 
        #2c3e50 50%, /* Cor Esquerda (Escura) */
        #e74c3c 50%  /* Cor Direita (Vermelha) */
    );
    background-size: 250%; /* Aumenta o fundo para poder mover */
    background-position: 50% 50%; /* Centraliza a divisão */
    
    color: white;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
}

.elementor-257 .elementor-element.elementor-element-71d182f4 .elementor-button:hover {
    /* Move o fundo, fazendo a cor vermelha dominar */
    background-position: 100% 50%; 
    padding-left: 30px; /* Efeito de empurrão no texto */
    box-shadow: 5px 5px 15px rgba(231, 76, 60, 0.4);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-39061aea *//* Botão com Borda de Vidro Fosco */
.elementor-257 .elementor-element.elementor-element-39061aea .elementor-button {
    background: transparent;
    color: #fff;
    font-weight: 700;
    border-radius: 12px;
    position: relative;
    border: none; /* Remove borda padrão */
    padding: 20px 40px;
}

/* O truque da borda fosca */
.elementor-257 .elementor-element.elementor-element-39061aea .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0; /* Cobre o botão todo */
    border-radius: 12px;
    padding: 4px; /* Espessura da borda de gelo */
    /* Gradiente sutil para o gelo */
    background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.1)); 
    
    /* A mágica do desfoque só na borda */
    -webkit-mask: 
       linear-gradient(#fff 0 0) content-box, 
       linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    
    backdrop-filter: blur(10px); /* Embaça o que está atrás da borda */
}

.elementor-257 .elementor-element.elementor-element-39061aea .elementor-button:hover {
    background: rgba(255,255,255,0.1); /* Leve preenchimento no hover */
    transform: scale(1.02);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-15591a2d *//* Botão que salta do "buraco" */
.elementor-257 .elementor-element.elementor-element-15591a2d .elementor-button {
    background: #e0e5ec; /* Cor do fundo do seu site (importante!) */
    color: #555;
    border-radius: 10px;
    font-weight: 800;
    border: none;
    /* Sombra INSET (para dentro) criando o buraco */
    box-shadow: 
        inset 5px 5px 10px rgba(163,177,198,0.6), 
        inset -5px -5px 10px rgba(255,255,255, 0.8);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Salto elástico */
}

.elementor-257 .elementor-element.elementor-element-15591a2d .elementor-button:hover {
    color: #6c5ce7; /* Cor de destaque */
    transform: translateY(-4px) scale(1.02); /* Salta para fora */
    background: #fff;
    /* Sombra normal e uma sombra colorida difusa */
    box-shadow: 
        10px 10px 20px rgba(0,0,0,0.1),
        0px 10px 30px rgba(108, 92, 231, 0.5); /* Sombra colorida */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2ecc1cde *//* Botão com Textura Granulada (Noise) */
.elementor-257 .elementor-element.elementor-element-2ecc1cde .elementor-button {
    /* O gradiente de fundo */
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 8px;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: none;
    box-shadow: 0 10px 20px rgba(118, 75, 162, 0.4);
    transition: 0.3s;
}

/* A camada de ruído (TV Chiado) feita com CSS puro */
.elementor-257 .elementor-element.elementor-element-2ecc1cde .elementor-button::before {
    content: "";
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background-image: repeating-radial-gradient(
        #000 0 0.0001%, 
        #fff 0 0.0002%
    ); /* Simula pixels */
    background-size: 5px 5px; /* Tamanho do grão */
    opacity: 0.07; /* Sutileza do efeito */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-2ecc1cde .elementor-button:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 30px rgba(118, 75, 162, 0.6);
    filter: brightness(1.1);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-42d7c3d9 *//* Botão com Cantos "Comidos" para Dentro */
.elementor-257 .elementor-element.elementor-element-42d7c3d9 .elementor-button {
    background: #d4af37; /* Dourado */
    color: #fff;
    border: none;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 15px 40px;
    
    /* A mágica do corte invertido usando gradiente radial como máscara */
    mask: 
        radial-gradient(circle at top left, transparent 10px, #000 11px),
        radial-gradient(circle at top right, transparent 10px, #000 11px),
        radial-gradient(circle at bottom right, transparent 10px, #000 11px),
        radial-gradient(circle at bottom left, transparent 10px, #000 11px);
    mask-composite: intersect; /* Combina os cortes */
    -webkit-mask: 
        radial-gradient(circle at top left, transparent 10px, #000 11px) top left,
        radial-gradient(circle at top right, transparent 10px, #000 11px) top right,
        radial-gradient(circle at bottom right, transparent 10px, #000 11px) bottom right,
        radial-gradient(circle at bottom left, transparent 10px, #000 11px) bottom left;
    -webkit-mask-size: 51% 51%;
    -webkit-mask-repeat: no-repeat;
    
    transition: transform 0.3s;
}

.elementor-257 .elementor-element.elementor-element-42d7c3d9 .elementor-button:hover {
    transform: scale(1.1);
    background: #c5a028;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5e13a6ec *//* Botão Estilo Papel Dobrado */
.elementor-257 .elementor-element.elementor-element-5e13a6ec .elementor-button {
    background: #5dade2; /* Azul Suave */
    color: #fff;
    border: none;
    font-weight: 700;
    position: relative;
    /* O corte no canto superior direito */
    clip-path: polygon(
        0 0, 
        calc(100% - 20px) 0, 
        100% 20px, 
        100% 100%, 
        0 100%
    );
    transition: 0.3s;
    padding-right: 30px; /* Espaço para não cortar texto */
}

/* O triângulo da dobra */
.elementor-257 .elementor-element.elementor-element-5e13a6ec .elementor-button::before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 20px; height: 20px;
    background: #34495e; /* Cor do verso do papel (escura) */
    border-radius: 0 0 0 5px; /* Arredonda levemente */
    transition: 0.3s;
}

.elementor-257 .elementor-element.elementor-element-5e13a6ec .elementor-button:hover {
    background: #3498db;
    transform: translateY(-2px);
}

.elementor-257 .elementor-element.elementor-element-5e13a6ec .elementor-button:hover::before {
    background: #fff; /* A dobra fica branca no hover */
    width: 25px; height: 25px; /* A dobra aumenta */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7cc33814 *//* Botão Estilo Scanlines VHS */
.elementor-257 .elementor-element.elementor-element-7cc33814 .elementor-button {
    background: #111;
    color: #00ff00; /* Verde terminal antigo */
    border: 1px solid #00ff00;
    border-radius: 4px;
    font-family: monospace;
    font-weight: bold;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
    z-index: 1;
}

/* As linhas da TV */
.elementor-257 .elementor-element.elementor-element-7cc33814 .elementor-button::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    background: linear-gradient(
        to bottom,
        rgba(18, 16, 16, 0) 50%,
        rgba(0, 0, 0, 0.25) 50%
    );
    background-size: 100% 4px; /* Espessura das linhas */
    z-index: -1;
    pointer-events: none;
}

.elementor-257 .elementor-element.elementor-element-7cc33814 .elementor-button:hover {
    background: #00ff00;
    color: #000;
    box-shadow: 0 0 20px #00ff00;
    text-shadow: none;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6736a7f1 *//* Botão Bloco Arquitetônico */
.elementor-257 .elementor-element.elementor-element-6736a7f1 .elementor-button {
    background: #fff;
    color: #000;
    border: 3px solid #000;
    border-radius: 0; /* Quadrado total */
    font-weight: 900;
    text-transform: uppercase;
    /* A sombra fica longe */
    box-shadow: 8px 8px 0px #ff6b6b; 
    transition: all 0.2s;
    margin-right: 8px; /* Espaço para não cortar */
    margin-bottom: 8px;
}

.elementor-257 .elementor-element.elementor-element-6736a7f1 .elementor-button:hover {
    transform: translate(-2px, -2px); /* Sobe um pouco */
    box-shadow: 12px 12px 0px #ff6b6b; /* Sombra aumenta */
    background: #fff; /* Garante fundo branco */
}

.elementor-257 .elementor-element.elementor-element-6736a7f1 .elementor-button:active {
    transform: translate(8px, 8px); /* Encaixa na sombra original */
    box-shadow: 0px 0px 0px #ff6b6b; /* Sombra some */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c4f2f7b *//* Botão Cupom com Tracejado Animado */
.elementor-257 .elementor-element.elementor-element-c4f2f7b .elementor-button {
    background: #fff;
    color: #333;
    font-weight: 700;
    border: 2px dashed #333; /* Borda tracejada base */
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
}

/* Animação do tracejado (técnica de background linear) */
.elementor-257 .elementor-element.elementor-element-c4f2f7b .elementor-button {
    background-image: 
        linear-gradient(90deg, #333 50%, transparent 50%), 
        linear-gradient(90deg, #333 50%, transparent 50%), 
        linear-gradient(0deg, #333 50%, transparent 50%), 
        linear-gradient(0deg, #333 50%, transparent 50%);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-size: 15px 2px, 15px 2px, 2px 15px, 2px 15px;
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
    border: none; /* Remove a borda real para usar a animada */
    padding: 15px 40px; /* Ajuste o padding conforme necessário */
    animation: border-dance 4s infinite linear;
}

.elementor-257 .elementor-element.elementor-element-c4f2f7b .elementor-button:hover {
    background-color: #f9f9f9;
    color: #e74c3c; /* Muda cor do texto */
    animation: border-dance 0.5s infinite linear; /* Acelera MUITO no hover */
}

@keyframes border-dance {
    0% {
        background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
    }
    100% {
        background-position: 30px 0px, -30px 100%, 0px -30px, 100% 30px;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-84fd53e *//* Botão com Reflexo de Espelho Inferior */
.elementor-257 .elementor-element.elementor-element-84fd53e .elementor-button {
    background: #ff0055; /* Cor Neon */
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: 0 0 15px rgba(255, 0, 85, 0.5);
    position: relative;
    margin-bottom: 25px; /* Espaço para o reflexo não bater no conteúdo de baixo */
}

/* O reflexo */
.elementor-257 .elementor-element.elementor-element-84fd53e .elementor-button::after {
    content: "";
    position: absolute;
    top: 100%; /* Logo abaixo */
    left: 0;
    width: 100%;
    height: 60%; /* Altura do reflexo */
    background: inherit; /* Copia a cor do botão */
    transform: scaleY(-1); /* Inverte de cabeça pra baixo */
    opacity: 0.4;
    /* Máscara para fazer o reflexo sumir suavemente (fade out) */
    -webkit-mask: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
    mask: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
    pointer-events: none; /* O reflexo não é clicável */
    transition: 0.3s;
}

.elementor-257 .elementor-element.elementor-element-84fd53e .elementor-button:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 30px rgba(255, 0, 85, 0.8);
}

.elementor-257 .elementor-element.elementor-element-84fd53e .elementor-button:hover::after {
    opacity: 0.6; /* Reflexo fica mais forte */
    transform: scaleY(-1) translateY(4px); /* Acompanha o movimento */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4dc8b4b9 *//* Botão Cortina que Abre do Centro */
.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button {
    background: transparent; /* Fundo transparente */
    color: #fff;
    border: 2px solid #fff;
    border-radius: 0;
    font-weight: 700;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: color 0.3s;
}

/* Metade Esquerda */
.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 50%; height: 100%;
    background: #fff;
    z-index: -1;
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    transform-origin: left;
}

/* Metade Direita */
.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button::after {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 50%; height: 100%;
    background: #fff;
    z-index: -1;
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    transform-origin: right;
}

/* Estado Inicial: Texto preto (sobre fundo branco) */
.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button {
    color: #000;
}

.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button:hover {
    color: #fff; /* Texto vira branco */
    border-color: #fff;
}

.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button:hover::before {
    transform: scaleX(0); /* Cortina esquerda recolhe */
}

.elementor-257 .elementor-element.elementor-element-4dc8b4b9 .elementor-button:hover::after {
    transform: scaleX(0); /* Cortina direita recolhe */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-629bcb6e *//* Botão Barra de Progresso */
.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button {
    background: transparent;
    color: #333;
    border: 2px solid #333;
    border-radius: 50px;
    font-weight: 800;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.4s;
}

/* A barra de carga */
.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0%; /* Começa vazio */
    height: 100%;
    background: #27ae60; /* Verde Sucesso */
    z-index: -1;
    transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1); /* Curva de velocidade suave */
}

/* Listras de "carregando" na barra */
.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-image: linear-gradient(
        45deg, 
        rgba(255,255,255,0.15) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255,255,255,0.15) 50%, 
        rgba(255,255,255,0.15) 75%, 
        transparent 75%, 
        transparent
    );
    background-size: 20px 20px;
    opacity: 0;
    z-index: -1;
    transition: opacity 0.4s;
}

.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button:hover {
    color: #fff;
    border-color: #27ae60;
}

.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button:hover::before {
    width: 100%; /* Carrega até o fim */
}

.elementor-257 .elementor-element.elementor-element-629bcb6e .elementor-button:hover::after {
    opacity: 1;
    animation: move-stripes 1s linear infinite; /* Anima as listras */
}

@keyframes move-stripes {
    0% { background-position: 0 0; }
    100% { background-position: 20px 20px; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-42641ed3 *//* Botão com Cantos de Mira (Brackets) */
.elementor-257 .elementor-element.elementor-element-42641ed3 .elementor-button {
    background: rgba(0, 255, 255, 0.05); /* Fundo sutil tech */
    color: #00e5ff;
    border: none;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 20px 40px;
    position: relative;
    transition: 0.3s;
}

/* Desenha os 4 cantos usando gradientes lineares */
.elementor-257 .elementor-element.elementor-element-42641ed3 .elementor-button {
    background-image: 
        linear-gradient(#00e5ff, #00e5ff), /* Canto Sup Esq Vertical */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Sup Esq Horizontal */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Sup Dir Vertical */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Sup Dir Horizontal */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Inf Dir Vertical */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Inf Dir Horizontal */
        linear-gradient(#00e5ff, #00e5ff), /* Canto Inf Esq Vertical */
        linear-gradient(#00e5ff, #00e5ff); /* Canto Inf Esq Horizontal */
        
    background-repeat: no-repeat;
    
    /* Tamanho e posição dos cantos */
    background-size: 2px 15px, 15px 2px; /* Espessura e comprimento */
    background-position: 
        0px 0px, 0px 0px,            /* Top Left */
        100% 0px, 100% 0px,          /* Top Right */
        100% 100%, 100% 100%,        /* Bottom Right */
        0px 100%, 0px 100%;          /* Bottom Left */
}

.elementor-257 .elementor-element.elementor-element-42641ed3 .elementor-button:hover {
    background-color: rgba(0, 229, 255, 0.2);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.4);
    letter-spacing: 4px; /* O texto expande dentro da mira */
    background-size: 2px 50%, 50% 2px; /* Os cantos crescem até fechar a borda */
}/* End custom CSS */