/* ==========================================================================
   Component · Button
   ========================================================================== */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-pill);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--duration-fast) var(--ease-gentle),
    transform var(--duration-fast) var(--ease-spring);
}

.button:active {
  transform: scale(0.97);
}

/* Pill off-white com texto escuro — o padrão documentado do produto
   ("estilo Apple, NÃO azul neon", globals.css). Usado no CTA da nav. */
.button--primary {
  height: 44px;
  padding-inline: 22px;
  background: var(--color-fill-inverse);
  color: var(--color-text-inverse);
}

.button--primary:hover {
  background: var(--color-fill-inverse-hover);
  transform: scale(1.03);
}

/* Azul de ação — nav e CTA do plano em destaque. Usar com parcimônia:
   dois botões azuis na página inteira, para o azul continuar significando
   "clique aqui" e não virar enfeite. */
/* AÇÃO PRINCIPAL — pílula CLARA, nunca vermelha.
   O vermelho da NexArt significa MARCA e ESTADO ATUAL; quem guia o olho é o
   claro (a mesma regra do foco no app da TV). E `#ffffff` é proibido pela
   marca: o teto é o off-white. */
.button--cta {
  height: 44px;
  padding-inline: 22px;
  background: var(--color-fill-inverse);
  color: var(--color-text-inverse);
}

.button--cta:hover {
  background: var(--color-fill-inverse-hover);
  transform: scale(1.03);
}

/* Contorno sutil — ações secundárias */
.button--secondary {
  height: 44px;
  padding-inline: 22px;
  border: 1px solid var(--color-hairline);
  background: transparent;
  color: var(--color-text-primary);
  transition:
    background-color var(--duration-fast) var(--ease-gentle),
    border-color var(--duration-fast) var(--ease-gentle),
    transform var(--duration-fast) var(--ease-spring);
}

.button--secondary:hover {
  background: var(--color-tile-hover);
  border-color: var(--color-border-strong);
}

/* Sem contorno — a ação de menor peso da linha (Editar, Remover num cartão).
   Nasceu FALTANDO: `.button--ghost` era usado no /account desde o começo e
   nunca existiu aqui, então o botão caía no estilo padrão do navegador —
   caixa cinza clara sobre o grafite. Mesma altura das outras variantes para
   a linha de ações não desalinhar. */
.button--ghost {
  height: 44px;
  padding-inline: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-secondary);
  transition:
    background-color var(--duration-fast) var(--ease-gentle),
    color var(--duration-fast) var(--ease-gentle),
    border-color var(--duration-fast) var(--ease-gentle),
    transform var(--duration-fast) var(--ease-spring);
}

.button--ghost:hover {
  background: var(--color-tile-hover);
  color: var(--color-text-primary);
}

/* ---- Botão de ícone circular (seletor de idioma) ------------------------- */

.icon-button {
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--color-hairline);
  color: var(--color-text-primary);
  transition:
    background-color var(--duration-fast) var(--ease-gentle),
    border-color var(--duration-fast) var(--ease-gentle),
    transform var(--duration-fast) var(--ease-spring);
}

.icon-button:hover {
  background: var(--color-tile-hover);
  border-color: var(--color-border-strong);
}

.icon-button svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 45.9375em) {
  .icon-button {
    width: 38px;
    height: 38px;
  }
}
