/* ==========================================================================
   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. */
.button--cta {
  height: 44px;
  padding-inline: 22px;
  background: var(--color-accent-cta);
  color: var(--color-text-primary); /* off-white, nunca branco puro — 4,6:1 sobre o azul do CTA (AA) */
}

.button--cta:hover {
  background: var(--color-accent-cta-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);
}

/* ---- 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;
  }
}
