/* ==========================================================
   LexVita — tokens de marca e estilos base
   ========================================================== */
:root {
  /* Paleta LexVita */
  --preto-profundo: #020B0D;   /* fundo principal */
  --verde-petroleo: #092124;   /* cards e superfícies */
  --dourado: #D4A65F;          /* botões e destaques */
  --dourado-claro: #F2D39A;    /* brilhos e hover */
  --prata: #D8DADD;            /* logo e títulos */
  --cinza: #929A9D;            /* textos auxiliares */

  /* Gradiente da logo */
  --gradiente-dourado: linear-gradient(90deg, #9B6A36 0%, #D4A65F 30%, #F2D39A 50%, #D4A65F 70%, #B78346 100%);

  /* Derivados */
  --superficie-2: #0D2A2E;
  --borda: rgba(212, 166, 95, 0.18);
  --borda-suave: rgba(216, 218, 221, 0.08);
  --texto: #E9EAEC;
  --sucesso: #5FBF8F;
  --alerta: #E3B341;
  --erro: #E26D5A;

  --fonte-serif: "Cormorant Garamond", "Cinzel", Georgia, serif;
  --fonte-sans: "Montserrat", "Segoe UI", system-ui, sans-serif;

  --raio: 12px;
  --raio-lg: 20px;
  --sombra: 0 20px 60px rgba(0, 0, 0, 0.55);
}

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; height: 100%; }

body {
  background: var(--preto-profundo);
  color: var(--texto);
  font-family: var(--fonte-sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--dourado); text-decoration: none; }
a:hover { color: var(--dourado-claro); }

button, input, select, textarea { font: inherit; color: inherit; }

.texto-dourado {
  background: var(--gradiente-dourado);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Botões */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; padding: 0 18px;
  border-radius: 10px; border: 1px solid var(--borda);
  background: transparent; color: var(--prata);
  font-weight: 600; font-size: 13px; cursor: pointer;
  transition: background .2s, border-color .2s, color .2s, transform .1s;
}
.btn:hover { border-color: var(--dourado); color: var(--dourado-claro); }
.btn:active { transform: translateY(1px); }
.btn svg { width: 18px; height: 18px; }

.btn-ouro {
  background: var(--gradiente-dourado); background-size: 200% 100%;
  color: #1B1206; border: none; letter-spacing: .06em;
  transition: background-position .4s, box-shadow .2s;
}
.btn-ouro:hover { background-position: 100% 0; color: #1B1206; box-shadow: 0 6px 24px rgba(212,166,95,.35); }

/* Campos */
.campo {
  display: flex; align-items: center; gap: 12px;
  height: 52px; padding: 0 16px;
  border-radius: 10px; border: 1px solid rgba(216,218,221,.18);
  background: rgba(2, 11, 13, .45);
  transition: border-color .2s, box-shadow .2s;
}
.campo:focus-within { border-color: var(--dourado); box-shadow: 0 0 0 3px rgba(212,166,95,.15); }
.campo svg { width: 20px; height: 20px; color: var(--prata); flex-shrink: 0; }
.campo input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--texto); }
.campo input::placeholder { color: var(--cinza); }

.oculto { display: none !important; }

/* Toast */
.toast {
  position: fixed; right: 24px; bottom: 24px; z-index: 100;
  padding: 12px 18px; border-radius: 10px;
  background: var(--verde-petroleo); border: 1px solid var(--borda);
  color: var(--texto); box-shadow: var(--sombra);
  opacity: 0; transform: translateY(10px); transition: all .25s;
}
.toast.visivel { opacity: 1; transform: none; }
