/* Transições entre telas */
.screen {
  animation: fadeIn 0.4s ease-out;
}

.screen.hidden {
  display: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Botões de opção */
.option-btn {
  width: 100%;
  text-align: left;
  padding: 1rem 1.25rem;
  background-color: rgb(23 23 23);
  border: 1px solid rgb(38 38 38);
  border-radius: 0.75rem;
  color: rgb(245 245 245);
  transition: all 0.2s;
  cursor: pointer;
  font-size: 1rem;
}

.option-btn:hover {
  background-color: rgb(38 38 38);
  border-color: rgb(16 185 129);
}

.option-btn.selected {
  border-color: rgb(16 185 129);
  background-color: rgba(16, 185, 129, 0.1);
}

/* Fade-in linha por linha nas narrativas do GUS */
.narrative-line {
  opacity: 0;
  animation: fadeInLine 0.6s ease-out forwards;
}

.narrative-line:nth-child(1) { animation-delay: 0.3s; }
.narrative-line:nth-child(2) { animation-delay: 1.5s; }
.narrative-line:nth-child(3) { animation-delay: 2.7s; }
.narrative-line:nth-child(4) { animation-delay: 3.9s; }
.narrative-line:nth-child(5) { animation-delay: 5.1s; }
.narrative-line:nth-child(6) { animation-delay: 6.3s; }

@keyframes fadeInLine {
  to { opacity: 1; }
}

/* Tela de loading — animação dos pontos */
.loading-dots span {
  animation: bounce 1.4s infinite ease-in-out both;
}
.loading-dots span:nth-child(1) { animation-delay: -0.32s; }
.loading-dots span:nth-child(2) { animation-delay: -0.16s; }

@keyframes bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

/* Botão WhatsApp com glow sutil */
.whatsapp-cta {
  box-shadow: 0 10px 30px -10px rgba(16, 185, 129, 0.5);
  transition: all 0.2s;
}

.whatsapp-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px -10px rgba(16, 185, 129, 0.7);
}

.whatsapp-cta:active {
  transform: scale(0.97);
}

/* Esconde scrollbar visualmente, mas mantém funcional */
body {
  scrollbar-width: thin;
  scrollbar-color: rgb(38 38 38) transparent;
}
