/*
 * Voxa — área do cliente. Herda cores e fontes do site (styles.css).
 */
.cliente {
  --pagina: #F4F7FA;
  --borda: #DCE6ED;
  --borda-forte: #C5D4DF;
  --perigo: #B42318;
  --ok: #0B6B4F;
  --raio-p: 10px;
  background: var(--pagina);
  min-height: 100vh;
  color: var(--tinta);
}
.cliente [hidden] { display: none !important; }
.cliente h1 {
  font-family: var(--fonte-titulo); color: var(--profundo); letter-spacing: -.01em;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 800; line-height: 1.2; margin: 4px 0 0;
}

.cli-topo { background: var(--profundo); color: var(--branco); }
.cli-topo__linha {
  width: min(1140px, 100% - 32px); margin-inline: auto; min-height: 60px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.cli-marca { display: flex; align-items: center; gap: 10px; color: var(--branco); text-decoration: none; font-weight: 600; }
.cli-marca b { font-weight: 400; color: var(--muted-escuro); margin-left: 4px; }
.cliente .cli-sair { background: transparent; color: var(--branco); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); cursor: pointer; }
.cliente .cli-sair:hover { box-shadow: inset 0 0 0 1.5px var(--branco); }

.cli-centro { display: grid; place-items: start center; padding: clamp(32px, 9vh, 88px) 16px 64px; }
.cli-cartao {
  width: 100%; max-width: 400px; padding: clamp(24px, 4vw, 36px);
  background: var(--branco); border: 1px solid var(--borda); border-radius: var(--raio);
  box-shadow: 0 1px 2px rgba(9, 42, 80, .05), 0 2px 10px rgba(9, 42, 80, .04);
}
.cli-cartao--area { max-width: 560px; }
.cli-cartao__logo { display: block; margin-bottom: 14px; }
.cli-sub { color: var(--muted); font-size: .92rem; margin: 6px 0 0; overflow-wrap: anywhere; }
.cli-texto { margin: 20px 0 0; }

.cliente label { display: block; font-weight: 600; font-size: .86rem; margin: 16px 0 6px; color: var(--profundo); }
.cliente input {
  width: 100%; padding: 10px 12px; font: inherit; font-size: .95rem; color: var(--tinta);
  background: var(--branco); border: 1px solid var(--borda-forte); border-radius: var(--raio-p);
  transition: border-color .15s, box-shadow .15s;
}
.cliente input:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(38, 121, 231, .16); }

.cliente .botao { cursor: pointer; gap: 8px; }
.cliente .botao:disabled { opacity: .7; cursor: progress; transform: none; }
.cli-largo { width: 100%; margin-top: 22px; }
.cli-aviso { margin: 12px 0 0; font-size: .88rem; color: var(--muted); min-height: 1.2em; }
.cli-aviso.erro { color: var(--perigo); }
.cli-aviso.ok { color: var(--ok); }

.cli-carregando { display: flex; align-items: center; gap: 10px; color: var(--muted); margin: 0; }
.cli-giro {
  display: inline-block; width: 18px; height: 18px; flex: none; border-radius: 50%;
  border: 2px solid currentColor; border-right-color: transparent;
  animation: cli-giro .8s linear infinite;
}
@keyframes cli-giro { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cli-giro { animation-duration: 2.4s; } }
