body {
  position: relative;
  margin: 0; /* Remove margens padrão do body */
  padding: 0;
}

html, body {
	background: #250C51;
	background: linear-gradient(90deg, rgba(37, 12, 81, 1) 0%, rgba(79, 40, 119, 1) 100%);
}

.blococentral {
  display: block;
  width: 90%; /* Ajuste a largura conforme necessário */
  margin: 0 auto; /* Centraliza o bloco horizontalmente */
      /* Mantém o texto à esquerda por padrão */
  max-width: 560px;
}

* {
   text-rendering: optimizeLegibility;
   font-optical-sizing: auto;
   text-align: left;
}

h1 {
  font-family: "Menlo", sans-serif;
  font-size: 2.1em;
  font-weight: 700;
  color: white;
}

h2 {
  font-family: "Menlo", sans-serif;
  font-size: 1.9em;
  font-weight: 600;
  color: white;
}

h3 {
  font-family: "Menlo", sans-serif;
  color: #ffd600; 
  text-shadow: 2px 2px 4px #d200ff; 
  margin-top: 0;
  font-size: 1.3em;
  font-weight: 500;
}

p {
  font-family: "Menlo", sans-serif;
  font-size: 1.35em;
  font-weight: normal;
  color: white;
}

a {
  font-family: "Menlo", sans-serif;
  font-weight: 800;
  color: white;
  text-shadow: 1px 0px 0px #03ff00;
}



.fonte_verde {

}

.letras_de_ouro {
  color: #ffd600; 
  text-shadow: 2px 2px 4px #d200ff;
}

.sombrinha_azul {
  text-shadow: 2px 2px 4px #0059ff;
}

.sombrinha_roxa {
  text-shadow: 2px 2px 4px #d200ff; 
}

.sombrinha_vermelha {
  text-shadow: 2px 2px 4px #ff00a5;
}

.sombrinha_verde {
  text-shadow: 2px 2px 4px #00b931;
}


.quebradelinha {
  display: none; /* Ignora o <br>, transformando-o em um espaço */
}

/* Em telas maiores (ex.: acima de 768px), o <br> é respeitado */
@media (min-width: 768px) {
  .quebradelinha {
    display: inline; /* Permite que o <br> funcione normalmente */
  }
}

a:link { 
    text-decoration: none;
  }

a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }

u {
    text-decoration-color: #FFF056;
}

b {
  font-weight: 600;
}

.img_corpo_carta {
   max-width: 100%; 
   width: 100%; 
   display: block; 
   margin-right: auto; 
   margin-left: 0;
   border-radius: 8px;
}

/* CSS para FORM */

.form-newsletter {
  width: 100%;
  max-width: 500px;
  margin: 0; /* Removido o 'auto' para manter alinhado à esquerda */
}

.email-input {
  border-radius: 8px;
  padding: 12px 20px;
  font-size: 17pt;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 15px;
}

.submit-button {
  font-size: 21pt;
  text-shadow: 2px 2px 0px #c500e7;
  font-weight: bold;
  color: white;
  background-color: #4101e0;
  padding: 11px 56px;
  border: 2px #afafaf;
  border-radius: 8px;
  box-shadow: 4px 8px 16px rgba(130, 0, 208, 0.4);
  cursor: pointer;
  animation: pulse 2s infinite;
  display: inline-block; /* Alterado para inline-block para alinhar à esquerda */
  margin: 0; /* Removido o 'auto' para manter alinhado à esquerda */
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

/* ------------ acaba aqui o CSS DO FORM ------------- */


/* CSS Global PARA EFEITO TYPING */
body p, body h1, body h2, body h3, body h4, body h5, body h6, body li, body span, body a, body div:not(:has(*)) {
  visibility: hidden; /* Apenas esconde elementos de texto, não imagens ou containers */
}

/* Certifique-se de que imagens estão sempre visíveis */
img, svg, video {
  visibility: visible !important;
}

/* Garantir que elementos com formatação interna também sejam animados corretamente */
b, strong, i, em, u, mark {
  visibility: inherit; /* Herda a visibilidade do pai */
}

.appear {
  visibility: visible !important; /* !important para garantir */
  animation: typewriter 1s linear both;
}

@keyframes typewriter {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}

/* Estilo da bolinha flutuante */
.bolinha-flutuante {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background-color: #8a2be2; /* Cor roxa */
    box-shadow: 0 0 15px 5px rgba(138, 43, 226, 0.6); /* Sombra roxa */
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Para garantir que a imagem não ultrapasse a borda circular */
    animation: pulsar 2s infinite ease-in-out, flutuar 3s infinite alternate ease-in-out;
}

/* Estilo da imagem dentro da bolinha */
.bolinha-flutuante img {
    width: 88%; /* Ajuste conforme necessário */
    height: auto;
    object-fit: contain; /* Mantém a proporção da imagem */
}

/* Animação de pulsação */
@keyframes pulsar {
    0% {
        transform: scale(1);
        box-shadow: 0 0 15px 5px rgba(138, 43, 226, 0.6);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 0 20px 8px rgba(138, 43, 226, 0.8);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 15px 5px rgba(138, 43, 226, 0.6);
    }
}

/* Animação de flutuação */
@keyframes flutuar {
    0% {
        transform: translateY(0) scale(1);
    }
    100% {
        transform: translateY(-5px) scale(1.05);
    }
}

/* Efeito hover opcional */
.bolinha-flutuante:hover {
    cursor: pointer;
    background-color: #9b4dff;
    box-shadow: 0 0 25px 10px rgba(155, 77, 255, 0.8);
    transition: all 0.3s ease;
}