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%);
	overflow-x: hidden;
}

.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: center;
}

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;
  font-size: 1.15em;
  font-weight: 500;
  color: white;
}

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

a {
  font-family: "Menlo", sans-serif;
  color: white;
}

.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;
}

@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;
}


.contador {
  background: #017100;
  background: linear-gradient(90deg, rgba(212, 24, 118, 1) 0%, rgba(255, 240, 86, 1) 100%);
  color: white;
  font-family: "Menlo", sans-serif;
  padding: 11px;
  text-align: center;
  font-size: 1.1em;
  width: 100%;
  margin: 0 auto;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
}

vturb-smartplayer {
  border-radius: 11px !important;
  overflow: hidden !important;
  display: block !important;
}

#footer {
    position: fixed;
    bottom: 0;
    width: 100%;
}
#center {
    width: 500px;
    margin: 0 auto;
    max-width:92%;
    text-align:center;
    z-index:1000000;
}       

button {
  font-size: 14pt;
  font-family: Menlo, Inconsolata, 'Chivo Mono', monospace;
  background: linear-gradient(90deg, #FFF056 0%, #FAD600 100%);
  color: black;
  padding: 11px;
  border: 2px #afafaf;
  border-radius: 22px;
  box-shadow: 1px 2px 20px 13px rgb(0 0 0);
  cursor: pointer;
  margin: 20px auto;
  position: fixed;
  bottom: 17px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: auto;
  min-width: 300px;
}

.video-container {
  position: relative;
  width: 100%;
  height: 460px;
  max-width: 640px;
  margin: 0 auto;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.thumbnail {
  position: relative;
  width: 100%;
  height: 460px;
  cursor: pointer;
}

.thumbnail img {
  width: 100%;
  display: block;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(193 156 156 / 70%); /* Vermelho semi-transparente */
  display: flex;
  justify-content: center;
  align-items: center;
}

.message-box {
  background-color: #6b2088cc;
  border-radius: 22px;
  padding: 15px 25px;
  text-align: center;
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.7);
}

.main-message {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.sub-message {
  font-size: 1rem;
  margin: 10px 0 0 0;
}

.mute-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  position: relative;
}

.speaker {
  width: 15px;
  height: 15px;
  background-color: white;
  clip-path: polygon(0 30%, 40% 30%, 40% 0, 60% 0, 60% 30%, 100% 30%, 100% 70%, 60% 70%, 60% 100%, 40% 100%, 40% 70%, 0 70%);
}

.mute-line {
  position: absolute;
  width: 2px;
  height: 30px;
  background-color: white;
  transform: rotate(45deg);
}

.video-player {
  width: 100%;
}

/* Animação pulsante para chamar atenção */
.message-box {
  animation: pulse 2s infinite;
}

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