/******************************
   ESTILO GERAL — MODERNO 2025 (CIRCULAR E RESPONSIVO)
******************************/
* {
  box-sizing: border-box;
}
body {
  background: linear-gradient(135deg, #f0f4ff 0%, #ffffff 100%);
  color: #222;
  font-family: 'Inter', sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  overflow-x: hidden;
}
.app-container {
  width: 100%;
  max-width: 880px;
  /* CORREÇÃO MANTIDA: Padding lateral zerado para cards ocuparem a tela */
  padding: 10px 0 160px; 
  position: relative;
}
/* Ajuste fino para desktop manter uma margem bonita */
@media (min-width: 721px) {
  .app-container {
    padding: 10px 20px 160px;
  }
}

/******************************
   VISIBILIDADE DAS TELAS
******************************/
.home-screen, .about-screen, .profile-screen, .pro-screen, .contact-screen {
  display: block;
  opacity: 1;
  transition: opacity 0.4s ease;
}
.home-screen.hidden, .about-screen.hidden, .profile-screen.hidden, .pro-screen.hidden, .contact-screen.hidden {
  opacity: 0;
  pointer-events: none;
  display: none;
  animation: fadeOut 0.4s ease forwards;
}

/* ============================================================
   CHAT SCREEN - CORRIGIDO PARA MOBILE E LAYOUT WHATSAPP
   ============================================================ */
.chat-screen {
  display: none;
  flex-direction: column;
  height: 100vh; 
  height: 100dvh; 
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  background: #ffffff;
  z-index: 2000;
  border-radius: 0;
  border: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.chat-screen.visible {
  display: flex;
  opacity: 1;
  animation: fadeIn 0.4s ease forwards;
}
.chat-screen.hidden {
  display: none;
  opacity: 0;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-10px); }
}

/******************************
   CABEÇALHO DA HOME
******************************/
.home-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  min-height: 60px;
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100%;
}

/* --- ÁREA DE LOGIN / CADASTRO --- */
.auth-buttons {
  display: flex;
  gap: 10px;
  align-items: center;
}
.btn-auth {
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 22px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(10, 88, 255, 0.3);
}
.btn-auth:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.4);
}
.btn-login {
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  color: #0a58ff;
  border: 1px solid #0a58ff;
}
.btn-login:hover {
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}

/* --- ÁREA DE USUÁRIO LOGADO (NOVO) --- */
.user-logged-area {
  display: flex;
  align-items: center;
  gap: 12px;
}

.user-welcome {
  font-size: 0.9rem;
  color: #333;
}

.user-name-display {
  color: #0a58ff;
}

.btn-logout-header {
  background: #ff3b30; /* Vermelho para sair */
  color: white;
  border: none;
  padding: 6px 16px; /* Botão menor que o padrão */
  border-radius: 18px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s;
  box-shadow: 0 2px 6px rgba(255, 59, 48, 0.3);
}

.btn-logout-header:hover {
  background: #e6352b;
  transform: scale(1.05);
}

@media (max-width: 400px) {
  .user-welcome {
    font-size: 0.8rem; 
  }
  .user-welcome strong {
    display: block; /* Quebra linha do nome se apertar */
    font-size: 0.9rem;
  }
}

/******************************
   LOGO
******************************/
.logo {
  display: block;
  max-width: 120px;
  transition: transform 0.3s ease;
}
.logo:hover {
  transform: scale(1.05);
}

/******************************
   MODAL (ATUALIZADO Z-INDEX)
******************************/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Fundo levemente mais escuro para destaque */
  background: rgba(0, 0, 0, 0.6); 
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* Z-Index Aumentado para 3000 para sobrepor o chat (2000) */
  z-index: 3000; 
  
  transition: opacity 0.3s ease;
  backdrop-filter: blur(5px); /* Efeito bonito de desfoque */
}
.modal.hidden {
  opacity: 0;
  pointer-events: none;
}
.modal-content {
  background: white;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  max-width: 400px;
  width: 90%;
  position: relative;
  text-align: center;
}
.close-modal {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 24px;
  cursor: pointer;
  color: #555;
}
.modal-content h2 {
  margin-bottom: 20px;
  color: #0a58ff;
}
.modal-content form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.modal-content label {
  text-align: left;
  color: #222;
  font-weight: 600;
}
.modal-content input {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border 0.2s ease;
}
.modal-content input:focus {
  border: 1px solid #0a58ff;
}
.btn-submit {
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  color: white;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
}
.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.4);
}

/* --- NOVO ESTILO: BOTÃO OUTLINE (PARA MODAL TEMPO) --- */
.btn-outline {
  background: #ffffff;
  color: #0a58ff;
  border: 2px solid #0a58ff;
  padding: 12px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
  width: 100%; /* Garante largura total */
  font-size: 1rem;
  text-align: center;
  box-shadow: none;
}
.btn-outline:hover {
  background: #f0f8ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.2);
}

/******************************
   TÍTULOS
******************************/
.titulo {
  font-size: 2rem;
  text-align: center;
  color: #0a58ff;
  margin-top: 10px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.subtitulo {
  text-align: center;
  color: #555;
  font-size: 1rem;
  margin-bottom: 40px;
}

/******************************
   CONTAINER DE CARDS
******************************/
.cards-container {
  display: flex;
  flex-direction: column;
  gap: 36px;
  /* CORREÇÃO MANTIDA: Removido padding lateral */
  padding: 0; 
  width: 100%;
}
/* Adiciona padding apenas em telas grandes para não colar na borda */
@media (min-width: 721px) {
  .cards-container {
    padding: 0 10px;
  }
}

/******************************
   CARD BASE
******************************/
.card {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border-radius: 24px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  position: relative;
  perspective: 1200px;
  min-height: 140px;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
@media (max-width: 720px) {
  .card {
    min-height: 120px;
    border-radius: 20px; 
    margin-bottom: 5px; 
  }
}
.card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 15px 35px rgba(10, 88, 255, 0.15);
}

/******************************
   FOTO DO PROFISSIONAL (CIRCULAR)
******************************/
.card-foto {
  flex: 0 0 140px;
  height: 140px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin: 20px;
  background: transparent;
  box-shadow: 0 0 0 4px #e8f0ff, 0 6px 20px rgba(10, 88, 255, 0.15);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-foto img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.4s ease, filter 0.4s ease;
}
.card:hover .card-foto {
  box-shadow: 0 0 0 4px #d6e6ff, 0 10px 25px rgba(10, 88, 255, 0.25);
}
.card:hover .card-foto img {
  transform: scale(1.08);
  filter: brightness(1.05);
}
@media (max-width: 720px) {
  .card-foto {
    flex: 0 0 120px;
    height: 120px;
    margin: 15px;
  }
}

/******************************
   INFORMAÇÕES DO CARD
******************************/
.card-info {
  flex: 1;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.card-info h3 {
  color: #0a58ff;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0;
  letter-spacing: -0.3px;
  position: relative;
}
.card-info h3::before {
  margin-right: 8px;
  font-size: 1.2rem;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.card:hover .card-info h3::before {
  opacity: 1;
}
.card-info p {
  color: #444;
  font-size: 0.95rem;
  line-height: 1.6;
  opacity: 0.9;
  margin: 0;
  transition: opacity 0.3s ease;
}
.card:hover .card-info p {
  opacity: 1;
}
@media (max-width: 720px) {
  .card-info {
    padding: 15px 20px;
    gap: 8px;
  }
  .card-info h3 {
    font-size: 1.2rem;
  }
  .card-info p {
    font-size: 0.85rem;
    line-height: 1.4;
  }
}

/******************************
   ALTERNÂNCIA DE LAYOUT
******************************/
.perfil-esquerda {
  flex-direction: row;
}
.perfil-direita {
  flex-direction: row-reverse;
}
.perfil-direita .card-info {
  text-align: right;
}

/******************************
   ANIMAÇÕES DOS CARDS
******************************/
.card {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.7s ease forwards;
}
.card:nth-child(2) { animation-delay: 0.1s; }
.card:nth-child(3) { animation-delay: 0.2s; }
.card:nth-child(4) { animation-delay: 0.3s; }
.card:nth-child(5) { animation-delay: 0.4s; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   CHAT HEADER - CORRIGIDO PARA ALINHAMENTO ESQUERDA
   ============================================================ */
.chat-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 16px;
  padding-top: calc(10px + env(safe-area-inset-top));
  min-height: 60px;
  position: relative;
  z-index: 10;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  gap: 10px;
  flex-shrink: 0;
}

.chat-title {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  left: auto;
  transform: none;
  max-width: 100%;
}

.chat-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: none;
  border: none;
  margin: 0;
}

.chat-info h2 {
  font-size: 1rem;
  font-weight: 600;
  color: #000;
  margin: 0;
}
.chat-info p {
  margin: 0;
  font-size: 0.75rem;
  color: #666;
}
.header-spacer {
  display: none;
}
.btn-back {
  background: transparent;
  border: none;
  width: 32px;
  height: 32px;
  color: #0a58ff;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  padding: 0;
}

/******************************
   FAB - BOTÃO FLUTUANTE "LIGAR" (REDONDO VERDE MANTIDO)
******************************/
#btnFazerLigacao {
  position: fixed !important;
  bottom: calc(90px + env(safe-area-inset-bottom)); /* Posição acima do menu */
  right: 20px;
  
  /* Formato Circular */
  width: 60px;
  height: 60px;
  border-radius: 50% !important;
  
  /* Cores */
  background: #25D366 !important; /* Verde WhatsApp */
  color: white !important;
  border: none !important;
  
  /* Centralização do Ícone */
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* Sombra e Visual */
  box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
  z-index: 30;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#btnFazerLigacao:hover {
  background: #20bd5a !important;
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.6);
}

#btnFazerLigacao svg {
  width: 28px;
  height: 28px;
  margin: 0; /* Remove margem, ícone centralizado */
}

/* TEXTO "LIGAR" (FORA E EMBAIXO) */
#btnFazerLigacao span {
  /* Isso esconde o texto original se houver */
  visibility: hidden;
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}

/* Isso força o texto "Ligar" usando CSS */
#btnFazerLigacao span::after {
  content: 'Ligar';
  visibility: visible;
  display: block;
  
  color: #444; /* Cor do texto "Ligar" (cinza escuro) */
  font-size: 0.75rem;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(255,255,255,0.5); /* Leve sombra branca para leitura */
}

/* ============================================================
   MENSAGENS (CSS CORRIGIDO)
   ============================================================ */
.chat-mensagens {
  display: flex; /* Garante alinhamento flex */
  flex-direction: column; /* Pilha vertical */
  flex: 1;
  overflow-y: auto;
  padding: 20px 15px;
  background: transparent;
  font-size: 0.95rem;
  color: #222;
}

.chat-mensagens p {
  margin: 8px 0;
  line-height: 1.4;
  padding: 10px 14px;
  border-radius: 8px;
  max-width: 80%;
  position: relative;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  word-wrap: break-word;
}

.chat-mensagens p strong {
  display: block;
  font-weight: 600;
  font-size: 0.8rem;
  margin-bottom: 2px;
  opacity: 0.8;
}

/* --- CLASSE DO USUÁRIO (Direita / Branco) --- */
.msg-user {
  background: #ffffff;
  color: #222;
  align-self: flex-end;
  text-align: right;
  border-radius: 8px 0 8px 8px;
  border: 1px solid #e0e0e0;
}

/* --- CLASSE DA IA (Esquerda / Azul Claro) --- */
.msg-ai {
  background: #e0f0ff;
  color: #000;
  align-self: flex-start;
  text-align: left;
  border-radius: 0 8px 8px 8px;
  border: 1px solid #cce5ff;
}

/* ============================================================
   CHAT INPUT
   ============================================================ */
.chat-input {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: #f0f0f0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
  position: relative;
  bottom: auto;
  z-index: 10;
  width: 100%;
}
.chat-input input {
  flex: 1;
  padding: 10px 16px;
  border: none;
  border-radius: 20px;
  background: #ffffff;
  font-size: 16px;
  outline: none;
}
.chat-input button {
  background: #0a58ff;
  color: white;
  border: none;
  padding: 10px 16px;
  border-radius: 50%;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/******************************
   SCROLLBAR
******************************/
.chat-mensagens::-webkit-scrollbar {
  width: 5px;
}
.chat-mensagens::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

/******************************
   CALL OVERLAY
******************************/
.call-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(30px) saturate(200%);
  -webkit-backdrop-filter: blur(30px) saturate(200%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3000;
  transition: opacity 0.3s ease;
}
.call-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}
.call-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 20px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border-radius: 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  max-width: 400px;
  width: 100%;
  text-align: center;
  color: #fff;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
  overflow-y: auto;
}
.avatar-container {
  position: relative;
  margin-bottom: 20px;
}
.call-avatar.large {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}
.avatar-glow {
  display: none;
}
.call-name {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 10px 0 5px;
}
.call-status {
  font-size: 1rem;
  opacity: 0.8;
  margin-bottom: 10px;
}
.call-timer {
  font-size: 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  padding: 5px 15px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  margin-bottom: 20px;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.call-wave {
  width: 80%;
  height: 100px;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
}
.call-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 20px;
  gap: 15px;
  position: absolute;
  bottom: 40px;
  left: 0;
  padding: 0 20px;
}
.bottom-controls {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.btn-call.ctrl {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  width: 70px;
  height: 70px;
  color: #222;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(12px);
  box-shadow: 0 0 15px rgba(10, 88, 255, 0.3);
}
.btn-call.ctrl:hover {
  background: rgba(255, 255, 255, 0.7);
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(10, 88, 255, 0.5);
}

#btnEndCall {
  background: #ff3b30 !important;
  border: none !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(255, 59, 48, 0.4) !important;
}
#btnEndCall svg path {
  stroke: #ffffff !important;
}
#btnEndCall:hover {
  background: #ff2d20 !important;
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(255, 59, 48, 0.6) !important;
}

/******************************
   MENU FLUTUANTE - LARGURA AUMENTADA
******************************/
.bottom-nav {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 96%; /* Aumentado de 90% para 96% */
  max-width: 450px; /* Aumentado de 330/380px para 450px */
  height: 50px; 
  
  /* EFEITO DE VIDRO AZUL */
  background: rgba(10, 88, 255, 0.85);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 30px;
  box-shadow: 0 8px 20px rgba(0, 50, 150, 0.3);
  
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px; /* Aumentado padding interno */
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Estado oculto */
.bottom-nav.hidden {
  transform: translate(-50%, 100px) scale(0.9);
  opacity: 0;
  pointer-events: none;
}

.bottom-nav ul {
  display: flex;
  justify-content: space-between; /* Distribuição uniforme */
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}

.bottom-nav li {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza horizontalmente */
  justify-content: center; /* Centraliza verticalmente */
  flex: 1;
  height: 100%;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
  opacity: 0.6;
}

/* ÍCONES (SVG) */
.bottom-nav svg {
  width: 20px; 
  height: 20px;
  stroke: #ffffff;
  stroke-width: 2;
  fill: none;
  transition: all 0.3s ease;
  margin-bottom: 2px;
  display: block; 
}

/* TEXTO (SPAN) */
.bottom-nav span {
  font-size: 9px;
  color: #ffffff;
  font-weight: 500;
  transition: all 0.3s ease;
  text-align: center; 
  width: 100%;
  line-height: 1; 
  display: block;
}

/* HOVER */
.bottom-nav li:hover {
  opacity: 1;
  transform: translateY(-1px);
}

/* --- ESTADO ATIVO --- */
.bottom-nav li.active {
  opacity: 1;
  background: transparent;
  box-shadow: none;
  transform: none; 
}

.bottom-nav li.active svg {
  stroke: #ffffff;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
  transform: scale(1.05);
}

.bottom-nav li.active span {
  font-weight: 700;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.4);
}

/* RESPONSIVIDADE */
@media (max-width: 720px) {
  .bottom-nav {
    bottom: 20px;
    width: 94%; /* Aproveita bem a largura em mobile */
  }
  /* Remove qualquer margem lateral da app em mobile para os cards tocarem a borda */
  .app-container {
    padding: 10px 0 120px;
  }
}

/******************************
   BANNER
******************************/
.banner-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8px 0 16px;
  padding: 0 10px;
  width: 100%;
}
.banner-image {
  width: 100%;
  max-width: 800px;
  height: auto;
  border-radius: 24px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
object-fit: contain; /* <--- MUDANÇA: MOSTRA A IMAGEM INTEIRA */
}
.banner-image:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 35px rgba(10, 88, 255, 0.15);
}
@media (max-width: 720px) {
  .banner-container {
    margin: 15px 0;
    padding: 0 5px;
  }
  .banner-image {
    border-radius: 16px;
  }
}

.pro-content {
  padding: 40px;
  text-align: center;
}
#pro-status {
  font-weight: bold;
  color: #0a58ff;
}
#btnAssinarPro {
  background: linear-gradient(135deg, #ffcc00 0%, #ff9900 100%);
  color: #fff;
}
#modalPagamento .modal-content {
  max-width: 500px;
}
#paymentBrick_container {
  margin: 20px 0;
}
#payment-status {
  color: green;
}

/******************************
   PAGAMENTO (CHECKOUT TRANSPARENTE)
******************************/
.payment-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}
.tab-button {
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  color: #0a58ff;
  border: 1px solid #0a58ff;
  padding: 10px 20px;
  border-radius: 22px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(10, 88, 255, 0.3);
}
.tab-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.4);
}
.tab-button.active {
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  color: white;
  border: none;
}
.payment-container {
  margin: 20px 0;
  text-align: center;
}
#pix-qr {
  max-width: 200px;
  margin-bottom: 10px;
}
#pix-code {
  background: #f0f4ff;
  padding: 10px;
  border-radius: 8px;
  word-break: break-all;
  margin-bottom: 10px;
}
#copy-pix {
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 22px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(10, 88, 255, 0.3);
}
#copy-pix:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.4);
}
#payment-status {
  color: green;
  font-weight: bold;
}

/* Responsividade para Pagamento em Mobile */
@media (max-width: 720px) {
  .payment-tabs {
    flex-direction: column;
    gap: 8px;
  }
  .tab-button {
    padding: 8px 16px;
    font-size: 0.9rem;
  }
  #pix-qr {
    max-width: 150px;
  }
  #pix-code {
    font-size: 0.85rem;
    padding: 8px;
  }
  #copy-pix {
    padding: 8px 16px;
    font-size: 0.9rem;
  }
}

/* Melhoria de responsividade para o modal de pagamento */
#modalPagamento {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
#modalPagamento .modal-content {
  background: white;
  padding: 20px;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Tabs e containers */
.tabs {
  display: flex;
  justify-content: space-around;
  margin-bottom: 10px;
}
.tab {
  padding: 10px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
}
.tab.active {
  border-bottom: 2px solid #0a58ff;
  font-weight: bold;
}

/* Container do Brick e PIX */
#card-form-container, #pix-container {
  width: 100%;
  min-height: 200px;
}
#pix-qr {
  max-width: 100%;
}

/* Media query para mobile */
@media (max-width: 600px) {
  #modalPagamento .modal-content {
    width: 100%;
    height: 100%;
    border-radius: 0;
    padding: 10px;
  }
 
  #card-form-container iframe {
    width: 100% !important;
    height: auto !important;
  }
}

/* Estrelas de Avaliação */
.star-rating {
  display: flex;
  justify-content: center;
  gap: 10px;
  font-size: 2.5rem;
  margin-bottom: 20px;
  cursor: pointer;
}

.star {
  color: #ccc; /* Cor cinza (desativado) */
  transition: color 0.2s ease, transform 0.2s;
}

.star:hover,
.star.selected {
  color: #FFD700; /* Amarelo Ouro */
  transform: scale(1.1);
}

#comentarioAvaliacao {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 12px;
  resize: none;
  font-family: 'Inter', sans-serif;
  outline: none;
}

#comentarioAvaliacao:focus {
  border-color: #0a58ff;
}

/* Correção de Z-Index para o Modal de Avaliação aparecer sobre o Chat */
#modalAvaliacao {
  z-index: 4000 !important;
}

#call-status {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 10px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
  min-height: 24px;
  transition: all 0.3s ease;
}

/* =========================================
   BOTÃO INTERROMPER (CLEAN E COMPACTO)
   ========================================= */
.btn-interromper {
  background: rgba(255, 255, 255, 0.95); /* Fundo quase branco */
  border: 1px solid #e0e0e0; /* Borda cinza bem fina e discreta */
  border-radius: 30px; /* Formato de pílula */
  padding: 8px 24px; /* Mais fino verticalmente */
  color: #444; /* Texto cinza escuro elegante */
  font-size: 0.9rem; /* Fonte levemente menor */
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); /* Sombra super suave */
  
  /* Tamanho controlado - não ocupa a tela toda */
  width: auto; 
  min-width: 160px; 
  max-width: 220px;
  margin-bottom: 10px; /* Espaço para os botões de baixo */
}

/* Efeito ao passar o mouse */
.btn-interromper:hover {
  background: #ffffff;
  border-color: #ccc;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  color: #000;
}

/* Efeito ao clicar */
.btn-interromper:active {
  transform: scale(0.98);
  background: #f5f5f5;
}

/* =========================================
   STATUS CONECTANDO (OVERLAY CLEAN & PULSE)
   ========================================= */
.status-connecting {
  /* Overlay Fullscreen */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;

  /* Glassmorphism Clean (Sem fundo escuro) */
  background: rgba(255, 255, 255, 0.6); /* Branco translúcido */
  backdrop-filter: blur(12px); /* Desfoque moderno */
  -webkit-backdrop-filter: blur(12px);

  /* Centralização Absoluta */
  display: flex;
  justify-content: center;
  align-items: center;

  /* Estilo do Texto "CONECTANDO..." */
  color: #0a58ff !important; /* Azul da marca */
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;

  /* Reset layout */
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;

  /* Animação de Pulsação no Texto */
  animation: pulseText 1.5s infinite ease-in-out;
}

/* Removemos o spinner rodando */
.status-connecting::after {
  display: none;
}

/* Animação suave de pulsação */
@keyframes pulseText {
  0% { opacity: 0.5; transform: scale(0.98); }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.5; transform: scale(0.98); }
}

/* =========================================
   TELA DE CONTATO (CONTACT SCREEN)
   ========================================= */
.contact-content {
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

/* CARD DE EMAIL */
.contact-card {
  background: white;
  border-radius: 20px;
  padding: 20px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  margin-bottom: 30px;
  transition: transform 0.2s ease;
}
.contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(10, 88, 255, 0.15);
}

.icon-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
}
.email-icon {
  background: #e8f0ff;
  color: #0a58ff;
}

.contact-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact-info h3 {
  margin: 0;
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}
.contact-info a {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #222;
  text-decoration: none;
}

/* DIVISOR */
.divider {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 10px 0 30px;
}
.divider::before, .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ddd;
}
.divider span {
  padding: 0 15px;
  color: #888;
  font-size: 0.9rem;
  font-weight: 500;
}

/* BOTÕES SOCIAIS */
.social-buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}
.social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: transform 0.2s, box-shadow 0.2s;
  color: white;
}
.social-btn svg {
  width: 24px;
  height: 24px;
}
.social-btn:hover {
  transform: scale(1.02);
  filter: brightness(1.05);
}

/* Cores das Redes */
.instagram {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  box-shadow: 0 4px 15px rgba(220, 39, 67, 0.3);
}
.facebook {
  background: #1877F2;
  box-shadow: 0 4px 15px rgba(24, 119, 242, 0.3);
}
/* =========================================
   ESTILO DO FORMULÁRIO DE CONTATO
   ========================================= */
.contact-form {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.input-group {
  width: 100%;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  background: #f8fbff;
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  outline: none;
  transition: all 0.2s ease;
  resize: none; /* Impede redimensionar textarea */
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #0a58ff;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(10, 88, 255, 0.1);
}

.contact-form .btn-submit {
  margin-top: 10px;
  width: 100%;
  padding: 14px;
  font-size: 1rem;
}

/* =========================================
   CORREÇÃO DE Z-INDEX PARA MODAIS DE TEMPO
   ========================================= */
/* Garante que os modais de "Tempo Esgotado" apareçam 
   ACIMA da tela de chat (z-2000) e do overlay de chamada (z-3000).
*/
#modalTempoLogin, 
#modalTempoPro {
  z-index: 5000 !important;
}

/* Garante que o fundo escuro do modal cubra o chat */
#modalTempoLogin.modal, 
#modalTempoPro.modal {
  background: rgba(0, 0, 0, 0.85); /* Fundo um pouco mais escuro para destaque */
  backdrop-filter: blur(5px);      /* Efeito de desfoque no fundo */
}

/* =========================================
   ESTILO DA PÁGINA QUEM SOMOS (ABOUT)
   ========================================= */
.about-content {
  padding: 40px 25px 140px; /* Topo, Laterais, Fundo (espaço para o menu) */
  max-width: 680px;         /* Limita a largura no PC para facilitar leitura */
  margin: 0 auto;           /* Centraliza o bloco na tela */
  text-align: center;       /* Centraliza o texto */
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: fadeIn 0.6s ease forwards; /* Animação suave de entrada */
}

.about-content h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: #0a58ff;           /* Azul da marca */
  margin-bottom: 25px;
  letter-spacing: -1px;
  line-height: 1.2;
}

.about-content p {
  font-size: 1.05rem;       /* Tamanho confortável para leitura */
  line-height: 1.7;         /* Altura da linha para não cansar a vista */
  color: #444;              /* Cinza escuro para contraste suave */
  margin-bottom: 20px;
  max-width: 100%;
}

/* Responsividade para celulares muito pequenos */
@media (max-width: 400px) {
  .about-content h2 {
    font-size: 1.8rem;
  }
  .about-content p {
    font-size: 0.95rem;
  }
}

/* =========================================
   CAMPO DE SENHA COM OLHO
   ========================================= */
.password-wrapper {
  position: relative;
  width: 100%;
}

.password-wrapper input {
  width: 100%;
  padding-right: 40px !important; /* Espaço para o ícone não cobrir o texto */
}

.eye-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
  z-index: 10;
}

.eye-icon:hover {
  color: #0a58ff;
}

/* =========================================
   CHECKOUT CLEAN (NOVO DESIGN 2025)
   ========================================= */

/* Reset do container para ser Branco e Clean */
.checkout-custom.checkout-clean {
  background: #ffffff;
  border-radius: 30px; /* Bordas bem arredondadas */
  padding: 40px 30px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15); /* Sombra difusa e elegante */
  overflow: visible; /* Permite que o botão de fechar flutue se necessário */
}

/* Botão de Fechar mais discreto */
.checkout-clean .close-modal {
  color: #ccc;
  top: 20px;
  right: 20px;
  font-size: 28px;
  transition: color 0.2s;
}
.checkout-clean .close-modal:hover {
  color: #333;
}

/* Ícone Topo */
.clean-icon {
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  opacity: 0.8;
}

/* Título Principal "Fale à vontade" */
.hero-text {
  font-size: 2rem;
  font-weight: 800;
  color: #0a58ff; /* Azul da marca */
  margin: 0 0 10px 0;
  letter-spacing: -1px;
  line-height: 1.1;
}

/* Subtítulo */
.hero-sub {
  font-size: 0.95rem;
  color: #666;
  margin: 0 0 25px 0;
  line-height: 1.5;
}

/* Preço em Destaque */
.price-display {
  display: flex;
  align-items: baseline; /* Alinha pela base dos números */
  justify-content: center;
  margin-bottom: 25px;
  color: #222;
}

.price-display .currency {
  font-size: 1.2rem;
  font-weight: 500;
  margin-right: 4px;
  color: #555;
}

.price-display .amount {
  font-size: 3.5rem; /* Número bem grande */
  font-weight: 800;
  color: #222;
  letter-spacing: -2px;
}

.price-display .period {
  font-size: 1rem;
  color: #888;
  margin-left: 5px;
}

/* Lista de Benefícios Clean */
.clean-features {
  list-style: none;
  padding: 0;
  margin: 0 auto 30px;
  text-align: left;
  display: inline-block; /* Para centralizar o bloco mas alinhar texto à esquerda */
}

.clean-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  color: #444;
  font-size: 0.9rem;
  font-weight: 500;
}

/* Botão de Ação */
.checkout-clean #btnPagarAgora {
  width: 100%;
  padding: 16px;
  font-size: 1.1rem;
  border-radius: 16px; /* Botão mais arredondado */
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  box-shadow: 0 8px 20px rgba(10, 88, 255, 0.25);
  margin-bottom: 20px;
  transition: transform 0.2s, box-shadow 0.2s;
}

.checkout-clean #btnPagarAgora:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(10, 88, 255, 0.35);
}

/* Selos de Confiança (Rodapé do modal) */
.trust-badges {
  font-size: 0.75rem;
  color: #999;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cards-icons {
  font-weight: 600;
  color: #bbb;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 1px;
}

/* Responsividade para telas muito pequenas */
@media (max-width: 360px) {
  .hero-text { font-size: 1.6rem; }
  .price-display .amount { font-size: 2.8rem; }
}
/* =========================================
   TELA PRO (PREMIUM & CLEAN) - REDESIGN
   ========================================= */

/* Container geral para centralizar na tela */
.pro-container-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  min-height: calc(100vh - 140px); /* Desconta header e menu */
  width: 100%;
}

/* O Card Branco Principal */
.pro-card-premium {
  background: #ffffff;
  border-radius: 32px;
  padding: 40px 30px;
  width: 100%;
  max-width: 380px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(10, 88, 255, 0.15); /* Sombra azulada suave */
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.pro-card-premium:hover {
  transform: translateY(-5px);
}

/* Ícone de Coroa */
.pro-icon-header {
  background: rgba(255, 215, 0, 0.1); /* Fundo dourado bem claro */
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 25px;
}
.pro-icon-header svg {
  stroke: #FFB700; /* Dourado mais forte */
  fill: rgba(255, 215, 0, 0.2);
}

/* Título "Fale à vontade..." */
.pro-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #0a58ff;
  line-height: 1.2;
  margin: 0 0 30px 0;
  letter-spacing: -0.5px;
}

/* Preço Grande */
.pro-price-tag {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 20px;
  color: #222;
}

.pro-price-tag .currency {
  font-size: 1.5rem;
  font-weight: 600;
  color: #888;
  margin-right: 5px;
  transform: translateY(-10px);
}

.pro-price-tag .value {
  font-size: 4rem;
  font-weight: 800;
  color: #222;
  letter-spacing: -2px;
  line-height: 1;
}

.pro-price-tag .period {
  font-size: 1rem;
  color: #888;
  margin-left: 5px;
  font-weight: 500;
}

/* Status (Verificando...) - Discreto */
.pro-status-text {
  font-size: 0.85rem;
  color: #999;
  margin-bottom: 25px;
  min-height: 20px;
}

/* Botão Assinar Agora (Estilo Novo) */
.btn-premium-pulse {
  background: linear-gradient(135deg, #0a58ff 0%, #004adf 100%);
  color: white;
  border: none;
  width: 100%;
  padding: 18px;
  border-radius: 20px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(10, 88, 255, 0.4);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-premium-pulse:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 35px rgba(10, 88, 255, 0.5);
}

/* Efeito de brilho no botão */
.btn-premium-pulse::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: 0.5s;
}
.btn-premium-pulse:hover::after {
  left: 100%;
}

/* Texto de segurança (Footer do card) */
.pro-secure-badge {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.75rem;
  color: #aaa;
}

/* Responsividade Mobile Extrema */
@media (max-width: 360px) {
  .pro-card-premium { padding: 30px 20px; }
  .pro-title { font-size: 1.4rem; }
  .pro-price-tag .value { font-size: 3.2rem; }
}

/* =========================================
   TELA DE PERFIL (MODERNO 2025)
   ========================================= */

/* Container Principal - Centraliza e dá espaço do topo */
.profile-content {
  padding: 110px 20px 140px; /* Topo alto para não bater no header */
  width: 100%;
  max-width: 500px; /* Largura máxima para parecer um App */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: fadeIn 0.6s ease forwards;
}

/* Título Perfil */
.profile-content h2 {
  font-size: 2rem;
  font-weight: 800;
  color: #0a58ff;
  margin-bottom: 30px;
  letter-spacing: -1px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

/* Ícone de Avatar (Simulado via CSS) acima do título */
.profile-content h2::before {
  content: '';
  display: block;
  width: 100px;
  height: 100px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a58ff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50px;
  background-color: #e8f0ff; /* Fundo azul bem clarinho */
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(10, 88, 255, 0.15);
  border: 4px solid #fff;
}

/* O Cartão de Informações (Onde ficam Nome e Email) */
#profile-info {
  width: 100%;
  background: #ffffff;
  border-radius: 24px;
  padding: 30px 25px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08); /* Sombra elegante */
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 25px;
  position: relative;
  overflow: hidden;
}

/* Detalhe decorativo no topo do card */
#profile-info::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, #0a58ff, #00d2ff);
}

/* Estilo das linhas (p) dentro do info */
#profile-info p {
  background: #f8fbff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  padding: 16px 20px;
  margin: 0;
  display: flex;
  flex-direction: column; /* Label em cima, valor embaixo */
  gap: 6px;
  transition: all 0.3s ease;
}

#profile-info p:hover {
  background: #fff;
  border-color: #0a58ff;
  transform: translateX(5px);
  box-shadow: 0 4px 12px rgba(10, 88, 255, 0.05);
}

/* Rótulo (Nome:, Email:) */
#profile-info strong {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #888;
  font-weight: 600;
}

/* O valor (O nome da pessoa) */
#profile-info span {
  font-size: 1.1rem;
  color: #222;
  font-weight: 600;
  word-break: break-all; /* Para emails longos não quebrarem o layout */
}

/* Botão de Logout (Sair) - Vermelho para destaque */
#btnLogout {
  width: 100%;
  background: #ff3b30 !important; /* Vermelho Apple */
  color: white;
  border: none;
  padding: 16px;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 20px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(255, 59, 48, 0.25);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

/* Ícone de sair (Adicionado via CSS after) */
#btnLogout::after {
  content: '→'; /* Seta simples */
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}

#btnLogout:hover {
  background: #ff2d20 !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(255, 59, 48, 0.35);
}

#btnLogout:hover::after {
  transform: translateX(4px);
}

#btnLogout:active {
  transform: scale(0.98);
}

/* Responsividade Mobile */
@media (max-width: 400px) {
  .profile-content {
    padding-top: 90px;
  }
  .profile-content h2 {
    font-size: 1.6rem;
  }
  #profile-info {
    padding: 20px;
  }
}
/* --- ÁREA DE LOGIN / CADASTRO (VERSÃO COMPACTA) --- */
.auth-buttons {
  display: flex;
  gap: 8px; /* Espaço menor entre os botões */
  align-items: center;
}

/* Estilo Base para TODOS os botões de auth */
.btn-auth {
  /* Tamanho Reduzido */
  width: 90px;         /* Reduzido de 110px para 90px */
  height: 34px;        /* Reduzido de 42px para 34px */
  
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  
  /* Tipografia Menor */
  font-weight: 600;
  font-size: 0.85rem;  /* Fonte menor */
  border-radius: 17px; /* Arredondamento proporcional à altura */
  
  cursor: pointer;
  transition: all 0.2s ease;
  
  /* Sem sombras */
  box-shadow: none !important; 
  border: 1px solid transparent; 
}

/* Botão Azul (Sólido) */
.btn-auth:not(.btn-login) {
  background: #0a58ff; 
  color: white;
}

/* Botão Branco (Vazado) */
.btn-login {
  background: transparent;
  color: #0a58ff;
  border: 1px solid #0a58ff; 
}

/* Hover (Apenas cor, sem movimento) */
.btn-auth:not(.btn-login):hover {
  background: #0044cc; 
  transform: none;      
}

.btn-login:hover {
  background: #f0f8ff; 
  transform: none;      
}

/* --- AJUSTE ULTRA COMPACTO PARA CELULAR --- */
@media (max-width: 480px) {
  .logo {
    max-width: 90px; /* Garante espaço para a logo */
  }

  .auth-buttons {
    gap: 6px; /* Espaço mínimo entre botões */
  }

  .btn-auth {
    width: 75px;       /* Bem pequeno para caber lado a lado */
    height: 30px;      /* Altura fina */
    font-size: 0.75rem; /* Letra pequena mas legível */
    border-radius: 15px;
  }
}